Vba: so extrahieren sie daten aus einer anderen arbeitsmappe


Sie können die folgende Syntax in VBA verwenden, um Daten aus einer anderen Arbeitsmappe zu extrahieren:

 SubExtractData ()
    
    'turn off screen updates to make this run faster
    Application.ScreenUpdating = False
    
    'specify workbook we want to extract data from
    Set wb = Workbooks.Open(" C:\Users\bobbi\OneDrive\Desktop\my_data.xlsx ")
    
    'extract all data from Sheet1 and paste as new sheet in current workbook
    wb.Sheets(" Sheet1 ").Copy After:=ThisWorkbook.Sheets(1)
    
    'do not save any changes to workbook we extract data from
    wb.Close SaveChanges:=False
    
    'turn screen updating back on
    Application.ScreenUpdating = True
    
End Sub

Dieses spezielle Makro öffnet die Arbeitsmappe mit dem Namen my_data.xlsx , die sich am folgenden Speicherort befindet:

C:\Benutzer\Bob\Desktop\my_data.xlsx

Anschließend kopiert es alle Daten aus dem Blatt mit dem Namen „ Blatt1“ in diese Arbeitsmappe und kopiert sie in das Blatt direkt nach dem ersten Blatt in unserer aktuell aktiven Arbeitsmappe.

Hinweis : Die Zeile „Application.ScreenUpdating = False“ weist VBA an, diesen Prozess im Hintergrund auszuführen, damit er schneller ausgeführt wird.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Extrahieren Sie Daten aus einer anderen Arbeitsmappe mithilfe von VBA

Nehmen wir an, wir haben die folgende Excel-Arbeitsmappe geöffnet und sehen sie uns an:

Angenommen, wir haben eine weitere Arbeitsmappe geschlossen, die jedoch die folgenden Daten enthält:

Mit dem folgenden Makro können wir die Daten aus Blatt 1 dieser geschlossenen Arbeitsmappe extrahieren und in ein neues Blatt direkt nach dem ersten Blatt unserer aktuell geöffneten Arbeitsmappe einfügen:

 SubExtractData ()
    
    'turn off screen updates to make this run faster
    Application.ScreenUpdating = False
    
    'specify workbook we want to extract data from
    Set wb = Workbooks.Open(" C:\Users\bobbi\OneDrive\Desktop\my_data.xlsx ")
    
    'extract all data from Sheet1 and paste as new sheet in current workbook
    wb.Sheets(" Sheet1 ").Copy After:=ThisWorkbook.Sheets(1)
    
    'do not save any changes to workbook we extract data from
    wb.Close SaveChanges:=False
    
    'turn screen updating back on
    Application.ScreenUpdating = True
    
End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Beachten Sie, dass die Daten aus der geschlossenen Arbeitsmappe extrahiert und als neues Blatt in unsere derzeit aktive Arbeitsmappe eingefügt wurden.

Sie können das neue Blatt jederzeit umbenennen, da es mit dem aktuellen Blatt identisch ist.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:

VBA: So zählen Sie die Anzahl der Blätter in einer Arbeitsmappe
VBA: So fügen Sie mehrere Spalten ein
VBA: So fügen Sie mehrere Zeilen ein

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert