Hallo,
kann mir bitte jemand helfen, der von VBA etwas mehr versteht wie ich? Bin leider doch ein wenig überfordert :-(
Aus einer Arbeitsmappe heraus sollen zwei andere Arbeitsmappen geöffnet werden. Aus diesen anderen Arbeitsmappen sollen dann Daten übernommen werden.
Folgenden Code habe ich mal "zusammen gebastelt":
Sub Update()
Dim wb1 As Workbook
Dim wb2 As String, wb3 As String
'wb1 = die aktive Arbeitsmappe aus der die anderen Arbeitsmappen-Namen inkl. Pfad entnommen werden und in die Daten aus den anderen Arbeitsmappen übernommen werden sollen
Set wb1 = ActiveWorkbook
'Name und Pfad zur Quell-Liste 1 - Zellinhalt: D:\Dokumente\Quelliste_1.xlsx
wb2 = Range("B2").Value
'Name und Pfad zur Quell-Liste 2 - Zellinhalt: D:\Dokumente\Quelliste_2.xlsx
wb3 = Range("B3").Value
'**Ausschalten Fehlermeldung
Application.DisplayAlerts = False
'**öffnen Quell-Liste 1
Workbooks.Open wb2, ReadOnly:=True
'im wb1 in Zelle B1 steht das aktuelle Datum. In der Quell-Liste soll in Spalte A danach gesucht werden und dann für jede Zeile in wb1 der Eintrag aus der entaprechenden Spalte der Quell-Liste übernommen werden
wb1.Worksheets("Tabelle1").Range("B5").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb2.Worksheets("Tabelle1").Range("A2:I400"), 2)
wb1.Worksheets("Tabelle1").Range("B6").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb2.Worksheets("Tabelle1").Range("A2:I400"), 3)
wb1.Worksheets("Tabelle1").Range("B7").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb2.Worksheets("Tabelle1").Range("A2:I400"), 4)
wb1.Worksheets("Tabelle1").Range("B8").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb2.Worksheets("Tabelle1").Range("A2:I400"), 5)
wb1.Worksheets("Tabelle1").Range("B9").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb2.Worksheets("Tabelle1").Range("A2:I400"), 6)
wb1.Worksheets("Tabelle1").Range("B10").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb2.Worksheets("Tabelle1").Range("A2:I400"), 7)
wb1.Worksheets("Tabelle1").Range("B11").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb2.Worksheets("Tabelle1").Range("A2:I400"), 8)
wb1.Worksheets("Tabelle1").Range("B12").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb2.Worksheets("Tabelle1").Range("A2:I400"), 9)
'**Schließen Quell-Liste 1
Workbooks(wb2).Close
'**öffnen Quell-Liste 2
Workbooks.Open wb3, ReadOnly:=True
'im wb1 in Zelle B1 steht das aktuelle Datum. In der Quell-Liste soll in Spalte A danach gesucht werden und dann für jede Zeile in wb1 der Eintrag aus der entaprechenden Spalte der Quell-Liste übernommen werden
wb1.Worksheets("Tabelle1").Range("C5").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb3.Worksheets("Tabelle1").Range("A2:I400"), 2)
wb1.Worksheets("Tabelle1").Range("C6").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb3.Worksheets("Tabelle1").Range("A2:I400"), 3)
wb1.Worksheets("Tabelle1").Range("C7").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb3.Worksheets("Tabelle1").Range("A2:I400"), 4)
wb1.Worksheets("Tabelle1").Range("C8").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb3.Worksheets("Tabelle1").Range("A2:I400"), 5)
wb1.Worksheets("Tabelle1").Range("C9").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb3.Worksheets("Tabelle1").Range("A2:I400"), 6)
wb1.Worksheets("Tabelle1").Range("C10").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb3.Worksheets("Tabelle1").Range("A2:I400"), 7)
wb1.Worksheets("Tabelle1").Range("C11").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb3.Worksheets("Tabelle1").Range("A2:I400"), 8)
wb1.Worksheets("Tabelle1").Range("C12").Value = WorksheetFunction.VLookup(wb1.Worksheets("Tabelle1").Range("B1"), wb3.Worksheets("Tabelle1").Range("A2:I400"), 9)
'**Schließen Quell-Liste 2
Workbooks(wb3).Close
'**Fehlemeldungen wieder einschalten
Application.DisplayAlerts = True
End Sub
Irgendwie passt das mit meinen "Variablen" wb1, wb2 und wb3 nicht so ganz
Vielen Dank und viele Grüße
Harry