SVERWEIS-Formel mittels VBA
24.04.2013 13:24:29
Nico
ich habe ein Workbook mit 2 Tabelle. Ich möchte von der Tabelle1 anhand von Suchkriterien aus der Tabelle2 Daten aus der Tabelle1 in Tabelle2 schreiben (ein ganz normaler SVERWEIS!). Dies habe ich in folgendem Code dargestellt und in ein separates Modul reingeschrieben:
Sub Übertrag()
Dim MyDic As Object
Dim Matrix As Variant
Dim Suchkriterium As Variant
Dim L As Long
Dim Ausgabe As Variant
Set MyDic = CreateObject("Scripting.Dictionary")
Matrix = Sheets("Tabelle1").Range("A:G")
Suchkriterium = Sheets("Tabelle2").Range("D:D")
For L = 1 To UBound(Matrix)
MyDic(Matrix(L, 1)) = Array(Matrix(L,7))
Next
ReDim Ausgabe(1 To UBound(Suchkriterium), 1 To 7)
On Error Resume Next
For L = 1 To UBound(Suchkriterium)
Ausgabe(L, 1) = MyDic(Suchkriterium(L, 1))(0)
Next
Sheets("Tabelle2").Range("M:M").Resize(UBound(Suchkriterium), 7) = Ausgabe
End Sub
() Dies funktioniert auch einwandfrei. Was jetzt mein Problem ist: Das Makro löscht mir alle anderen Werte aus der Spalte M in der Tabelle2 und setzt diese auf blank. In dieser Spalte stehen nämlich noch Zwischentotale und Währungen. Ich möchte, dass das Makro nur die Werte in Tabelle2/Spalte M schreibt, die er auch anhand des Suchkriteriums findet und alle anderen Zellen nicht berührt. Ich habe es schon mit einem IF-Befehl versucht, hat leider nicht geklappt.
Weiss jemand rat?
Besten Dank!