2015-12-07 173 views
-1

如果有人可以幫助簡單計算使用VBA,我將不勝感激。我現在的情況是,我想作一個簡單的計算如下VBA計算 - 簡單計算

area = inner_dia * height 

當過我的inner_dia,50和高度,50進入,正確的答案應該2,500;但是我的答案是15,300。請幫助我哪裏出了錯,我從哪裏可以學到更多,使使用VBA(如使用自然對數,PI等)

預先感謝您

+0

將是有益的,如果你要提供你所使用的全部代碼。 –

+0

請顯示您的類型定義(您的'Dim'語句) – ja72

+0

可能的相關問題:http://stackoverflow.com/q/31816396/380384 – ja72

回答

0

寫在即時窗口中複雜的計算:

inner_dia = 50 
height = 50 
area = inner_dia * height 
?area 

編輯: CommandButton1的是命令按鈕 tb_height的名稱和tb_inner_dia是文本框。

Option Explicit 

Private Sub CommandButton1_Click() 
    MsgBox tb_height.Value * tb_inner_dia.Value 
End Sub 
+0

感謝您的幫助。但是我忘了提及我正在創建一個用戶表單,因此它需要用戶將值輸入到高度文本框和inner_dia文本框中。我需要配置文本框嗎? – takiyasamsama

+0

'inner_dia = 50'強制類型爲16位整數。更好的方法是'inner_dia = 50#'和'height = 50#'來強制浮點數。 – ja72

+0

嗨,大家好。我似乎發現了一個非常奇怪的解決方案來解決我自己的問題。我發現將我的文本框命名爲「高度」是問題所在。我對問題進行了故障排除,並將文本框名稱從「高度」更改爲「hei」,並且計算沒有問題。有人能向我強調什麼似乎是問題?在將我的文本框命名爲高度時是否有任何限制? – takiyasamsama

0

您的文本框會返回字符串值。您需要將字符串轉換爲浮點數,然後進行計算,然後格式化答案。

見下文實例:

Dim inner_dia as Double, height as Double 
inner_dia = Val(TextBox1.Text) 
height = Val(TextBox2.Text) 

Dim result as Double 
result = inner_dia * height 

TextBox3.Text = Format(result, "0.000")