我有一个帐户列表&代码,并希望使用索引匹配填充来自不同工作表的结果列。我可以使用公式:= index(rngB,match(BCode,rngM,0),55)VBA索引/匹配空白单元格
但无法将其转换为vba。我曾尝试过:
sub compare()
Dim BudgetResult As Long
Dim var1 As Long
Dim rngB, rngM As Range
Dim CompSH, ActSH, BudSH As Worksheet
Dim BCode As Variant
Set CompSH = Sheets.Add(After:=Sheets(Sheets.Count))
Set ActSH = Sheets(2)
Set BudSH = Sheets(3)
Set rngB = BudSH.Range("B11:BF50")
Set rngM = BudSH.Range("B:B")
Set BCode = CompSH.Range("A2")
BudSH.Select
Range("B10:E76").Select
Selection.Copy
CompSH.Select
ActiveSheet.Paste
Range("F1").Select
ActiveCell.FormulaR1C1 = "Budget"
Range("F2").Select
With Application.WorksheetFunction
var1 = .Match(BCode, rngM, 0)
BudgetResult = .Index(rngB, var1, 55)
End With
我得到一个空白单元格。没有结果在表单中。 此外,我不知道如何继续下去。谁能帮忙?
文中陈述范围大小你翻译Excel公式变成VBA设置?如果您已经决定使用VBA,为什么不使用它的额外功能? –