[英]Making a VBA FOR loop using vlookup function in Excel
我想使用Vlookup函數47次來獲取每個數據的值。 我將要填充的表稱為“表1”。 “表1從E3開始。我想使用vlookup查找單元格E3的值並將其填寫在F3中。
我將通過Vlookup從中返回值的表稱為“ Table2”。 “表2位於工作表“ CC名稱”中,並具有兩列A和B。
我已經嘗試了兩個FOR循環。 V FORUPUP函數的一個FOR循環重復47次。 vlookup函數“ ccName”的名稱的第二個FOR循環使用該函數填充“表1”中的值達43次,但是每次實現該代碼時都會出錯。
Sub GLcreation()
For n = 3 To 50
For c = 3 To 50
ccName(c) = WorksheetFunction.Vlookup(Range("E" & n), Worksheets("CC Name").Range("A:B"), 2, 0)
Range("F" & n) = ccName(c)
Next c
Next n
End Sub
如果您可以向我展示如何為正確的循環編碼,請多謝幫助。
通過擺脫c循環,正確的代碼是:
Range("F" & n) = WorksheetFunction.Vlookup(Range("E" & n), Worksheets("CC Name").Range("A:B"), 2, 0)
一旦不匹配,代碼將失敗。 在進行查找之前測試匹配是否安全。 這是一個更好的解決方案:
Sub GLcreation()
Dim n As Integer
Dim wf As WorksheetFunction
Set wf = WorksheetFunction
For n = 3 To 50
If wf.CountIf(Worksheets("CC Name").Range("A:A"), Range("E" & n).Value) > 0 Then
Range("F" & n).Value = wf.Index(Worksheets("CC Name").Range("B:B"), wf.Match(Range("E" & n).Value, Worksheets("CC Name").Range("A:A"), 0))
End If
Next n
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.