folgende Situation:
Ich habe zwei Dateien - ein Export und eine Datei voller Speditionsinformationen.
Beide Dateien werden jede Woche neu geschickt bzw exportiert.
Ich muss aus der Datei "Export" einen SVERWEIS eintragen, der sich auf die Datei der Speditionsfirma bezieht. Der Sverweis prüft drei Tabellenblätter ab. Falls der Wert etwas findet, erscheint "Treffer", sonst "Kein Treffer". Die Formel sind in ganz normaler Formel so aus (I know, wäre auch mit ner Und-Formel schöner aussehen können):
=WENN(ISTNV(SVERWEIS(A2;'[Speditiondat.xlsm]Spedition1'!$A:$B;2;0))=WAHR;
WENN(ISTNV(SVERWEIS(A2; '[Speditiondat.xlsm]Spedition2'!$A:$B;2;0))=WAHR;
WENN(ISTNV(SVERWEIS(A2; '[Speditiondat.xlsm]Spedition3'!$A:$B;2;0))=WAHR;
"Kein Treffer";"Treffer");"Treffer);"Treffer")
So weit so gut, quick and dirty. Ich möchte das aber alles automatisieren und ein "Tool" mit einem Makro bauen, wo ich die beiden Excel-Dateien als Variable anspreche. Weiter unten im Makro füge ich mit dem Makro einen SVERWEIS ein und hier ist mein Problem:Wie bekomme ich den SVERWEIS im Makro so hin, dass die angesprochene Datei im SVERWEIS variabel ist?
Das ist mein Code soweit mit starrem SVERWEIS, der auch soweit funktioniert (wird noch einiges dran getan, einige Logiken einfach ignorieren):
Option Explicit
Sub Zolldaten_aktualisieren()
Dim Anzahl_Aufträge As Integer
Dim Anzahl_Aufträge_NB As Integer
Dim Export As Variant
Dim DHL_Schenker_Kuehne As Variant
Dim MTO As Variant
MsgBox "Bitte wähle deine Zieldatei/ den Export", vbInformation
Export = Application.GetOpenFilename()
MsgBox "Bitte wähle die Datei, welche die Information von Speditionen enthält", vbInformation
DHL_Schenker_Kuehne = Application.GetOpenFilename()
Application.ScreenUpdating = False
Application.EnableEvents = False
Workbooks.Open (Export)
With ActiveWorkbook.Sheets(1)
.Range("$A$1:$F$5000").RemoveDuplicates Columns:=1, Header:=xlYes
Anzahl_Aufträge = WorksheetFunction.CountA(.Range("A1:A5000"))
.Range(.Cells(2, "L"), .Cells(Anzahl_Aufträge, "L")).FormulaR1C1 = "=MID(RC[-9],9,3)"
.Range(.Cells(2, "G"), .Cells(Anzahl_Aufträge, "G")).FormulaR1C1 =
"=IF(ISNA(VLOOKUP(RC[-6],'[Speditiondat.xlsm]Spedition1'!C1:C2,2,0))=TRUE,_
IF(ISNA(VLOOKUP(RC[-6],'[Speditiondat.xlsm]Spedition2'!C1:C2,2,0))=TRUE,_
IF(ISNA(VLOOKUP(RC[-6],'[Speditiondat.xlsm]Spedition3'!C1:C2,2,0))=TRUE,_
""Kein Treffer"",""Treffer""),""Treffer""),""Treffer"")"
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub