Hallo,
ich brauche eure Hilfe.
Ich möchte einen SVerweis selbst schreiben und dabei nicht VLookUP verwenden.
Ich wollte das eigentlich über den Befehl Offset lösen, da ich dann flexiblel bin und mir auch den Wert links von der Matrix ausgeben kann.
Folgenden Code habe ich geschrieben, leider bringt er immer "Objekt erfoderlich" und makiert die Zeile mit "Cells(a, 2) = konto.Offset(0, 1)".
Mir ist klar, dass er "konto" nicht als Objekt sieht und somit der Offset nicht geht, aber ich weiß auch keinen Ausweg.
Spalte A Spalte B Spalte C Spalte D Spalte E Spalte F
Kontonummer Beschriftung Kontonummer nach Kontenplan Kontobeschriftung nach Kontenplan
6855 110 nicht benötigt
6858 220 nicht benötigt
6770 330 nicht benötigt
7700 5500 nicht benötigt
9800 6855 Test 1
6856 nicht benötigt
6858 Test 2
6770 Test 3
6800 nicht benötigt
7700 Test 4
8800 nicht benötigt
9800 Test 5
Dim a As Single
Dim y As Single
Dim y2 As Single
Sub Test()
y = Cells(Rows.Count, 1).End(xlUp).Row 'Spalte A Kontonummer zur Definition, wie oft der SVerweis nach unten gezogen werden muss.
y2 = Cells(Rows.Count, 5).End(xlUp).Row 'Spalte Kontonummer laut Kontenplan zur Feinikition der Matrixende
matrix = Range(Cells(2, 5), Cells(y2, 5))
For a = 2 To y
For Each konto In matrix
If konto = Cells(a, 1) Then 'Wenn Kontonummer aus Matrix gleich Kontonummer aus Spalte A, Dann
Cells(a, 2) = konto.Offset(0, 1) 'Schreibe in Spalte B (Beschriftung) den Inhalt der Zelle eins rechts in der du die Kontonummer der Matrix gefunden hast
Exit For
End If
Next konto
Next a
End Sub
|