有人可以幫助我嗎?用戶表單中沒有計算的值
我有一個用戶窗體有一些數字字段。問題是我的Total框不會計算它們,因爲它將文本識別爲一個數字。所以例如,如果我要說HE.Value(10)+ ME.Value(10)例如應該= 20然而Total是來到1010.如果我*它,而是我收到一個錯誤調試,因爲它將該值識別爲文本格式。
我從來沒有在用戶窗體中出現過這個問題。有人能夠協助嗎?
感謝,
有人可以幫助我嗎?用戶表單中沒有計算的值
我有一個用戶窗體有一些數字字段。問題是我的Total框不會計算它們,因爲它將文本識別爲一個數字。所以例如,如果我要說HE.Value(10)+ ME.Value(10)例如應該= 20然而Total是來到1010.如果我*它,而是我收到一個錯誤調試,因爲它將該值識別爲文本格式。
我從來沒有在用戶窗體中出現過這個問題。有人能夠協助嗎?
感謝,
您有:
totalBox.Text = box1.Text + box2.Text
當兩個操作數String
,則+
運營商可以作爲一個字符串連接運算符,這意味着它的工作原理完全一樣&
操作。這就是你如何得到1010
而不是20
:VBA認爲你要求它連接連接字符串。
VBA無法對字符串進行運算,所以如果您的字符串代表數字值,則需要先將其轉換。
如果你只使用整數的工作,那麼你可以用CLng
類型轉換功能做到這一點:
totalBox.Text = CStr(CLng(box1.Text) + CLng(box2.Text))
注意這使得背到字符串的轉換明確(CStr
);將其保留並且VBA將隱含地執行該類型轉換。
@ A.S.H這可能是正確的,懶得檢查,編輯......該死的隱式類型轉換遍佈各地... –
您需要將您的字符串轉換爲數字,例如嘗試'CINT(ME.VALUE)'如果這些是整數或'CLNG(ME.VALUE)'如果他們有小數位 – MiguelH
@MiguelH謝謝,不知道爲什麼我沒有想到這一點。非常感謝您的回答 – MBrann
您可能也對此感興趣..http://www.ozgrid.com/VBA/validate-numbers.htm – MiguelH