nach vergeblichem suchen habe ich heute meine erste Frage im Forum:
Ich habe eine Tabelle, die wie folgt aussieht:
POS SPRACHE CODE TEXT
1 DE TBL FLÄCHE
2 DE TBL KOSTENSTELLE
3 EN TBL AREA
4 EN TBL COSTCENTER
...
In VBA möchte ich zu den 3 Variablen POS, SPRACHE, CODE das dazugehörige Feld "Text" lesen und weiter verarbeiten.
Daher habe ich im ersten Schritt die (funktionierende) Formel im Tabellenblatt aufgebaut und die Variablen POS, SPRACHE, CODE in Zeile 16 geschrieben:
=INDEX(D1:D10;VERGLEICH(A16&B16&C16;A1:A10&B1:B10&C1:C10;0))
Nun bekomme ich ums verrecken nicht diese performante Formel in VBA umgesetzt. "Match" statt "vergleich" hat anscheinend eine andere syntax.
Die einzige Lösung die ich in VBA gefunden habe, läuft über eine Schleife.
Das kostet aber zuviel Platz und performance:
Public Sub test()
Dim TEXT, X, Y As String
Dim i As Long
X = Cells(17, 1) & Cells(17, 2) & Cells(17, 3)
For i = 1 To 15
Y = Cells(i, 1) & Cells(i, 2) & Cells(i, 3)
If Y = X Then
TEXT = Application.WorksheetFunction.Index(Range("D1:D11"), i)
i = 99
End If
Next i
End Sub
Kann mir jemand dabei weiterhelfen?Hier die Datei: https://www.herber.de/bbs/user/102171.txt (txt durch xlsm ersetzen)