我試圖創建一個函數,它將運行一個循環來測試一個組織(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)在同一行上... –