我试图创建一个函数,它将运行一个循环来测试一个组织(var'org')是否有一个实际上已经启动的活动,因此'If(结果< = Now()'。我在电子表格中找到了数量未指定的广告系列,并使用'CountIf'并将其作为“总计”提供给模块。Excel VBA Vlookup运行时错误1004
在电子表格中,当需要的单元格有效的广告系列发现广告系列在另一个单元格中随机猜测出的广告系列无效,因此会转到VBA功能,并为该组织标识以及该广告系列下的广告系列总数提供功能。
我的代码:
Sub Macro()
Dim x
x = MacIDGen(111, 11)
End Sub
Function MacIDGen(org, total)
Dim iteration As Boolean, result As Range
For current = 1 To total
result = Application.WorksheetFunction.VLookup(org & " " & current, ActiveWorkbook.Sheets("Donations").Range("C:E"), 3, False)
If (result <= Now()) Then
MacIDGen = org & " " & current & " Test successful"
current = total
End If
Next current
End Function
电子表格结构:
Org ID- Org Camp Count- Camp No.- Valid Camp No.
62 1 1 62 1
14 2 1 14 1
2 4 4 2 4
79 5 4 79 4
在调试过程中VBA编辑器中runtime error 1004
作物并在电子表格中执行时,该功能似乎什么也不做,细胞很快刷新细胞之前采用最后的有效值。 我该如何解决这个问题?
尝试将结果的类型从范围更改为变体。 VLookup()返回值(字符串,双精度)或错误类型。 – Makah
这已被覆盖很多次:) –
[这里](http://stackoverflow.com/questions/20593959/using-vlookup-from-a-vba-module-in-excel-to-check-if-value -is-in-table)就是一个例子... [另一个](http://stackoverflow.com/questions/19057369/vlookup-in-vba-within-a-for-loop)...和[另一个ONE](http://stackoverflow.com/questions/9634611/unable-to-get-the-lookup-property-of-the-worksheetfunction-class)在同一行上... –