Ich habe eine Liste von Konten & Codes, und möchte eine Spalte mit Ergebnissen aus einem anderen Blatt mit Index übereinstimmen. Ich kann es mit der Formel arbeiten: = index (rngB, match (BCode, rngM, 0), 55)VBA Index/Match leere Zelle
aber kann es nicht in vba übersetzen. Ich habe versucht:
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
Ich bekomme eine leere Zelle. kein Ergebnis im Blatt. Ich weiß auch nicht, wie ich weitermachen soll. Kann jemand helfen?
sind Sie auf die Übersetzung der Excel-Formel in VBA gesetzt markiert einstellen müssen? Wenn Sie sich bereits für die Verwendung von VBA entschieden haben, warum sollten Sie nicht die zusätzlichen Funktionen nutzen? –