For i = 2 To countSeca
totalSeca = totalSeca + Application.WorksheetFunction.VLookup(UserForm1.Controls("TextBox" & (i + 6)).Value, rngSeca, 2, False)
Next i
我的代码运行良好,例如在Vlookup上我输入了数字5065544,但是如果我输入“ 5065544”,则对我的控件无效,即使控件包含数字5065544,我的代码也是如此。文本格式问题,并进行修复,我尝试过在控件之前使用CInt,Int,CLng,Val()等方法,但仍然无法正常工作。
我能够修复它。函数Int可以正常工作。似乎是我的错。
答案 0 :(得分:0)
在循环之前将其写入,以查看UserForm1.Controls
上是否有某些值以及您是否正好得到它:
MsgBox UserForm1.Controls("TextBox" & (2 + 6)).Value
MsgBox UserForm1.Controls("TextBox" & (3 + 6)).Value
MsgBox UserForm1.Controls("TextBox" & (4 + 6)).Value
MsgBox UserForm1.Controls("TextBox" & (5 + 6)).Value
MsgBox rngSeca.Address & rngSeca.Parent.Name
最后一行显示rngSeca
的地址及其工作表名称。