For循环内的VBA Vlookup不起作用

时间:2018-07-16 15:56:15

标签: vba

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可以正常工作。似乎是我的错。

1 个答案:

答案 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的地址及其工作表名称。