Excel VBA zum Kopieren von Daten aus einer anderen Arbeitsmappe ohne Öffnen

  • Teile Das
Hugh West

Unter Microsoft Excel , VBA-Makros Wenn wir Daten aus einer anderen Arbeitsmappe kopieren wollen, ohne die Arbeitsmappe zu öffnen, können wir das ganz einfach tun, indem wir Excel-VBA In diesem Artikel erfahren Sie Excel-VBA um Daten aus einer anderen Arbeitsmappe zu kopieren, ohne sie zu öffnen.

Download Arbeitsbuch Praxis

Sie können die Arbeitsmappe herunterladen und mit ihnen üben.

Daten einer anderen Arbeitsmappe kopieren.xlsm

3 verschiedene Möglichkeiten, Daten aus einer anderen Arbeitsmappe zu kopieren, ohne sie mit Excel VBA zu öffnen

Wenn wir in Eile sind und die Daten sofort benötigen, ohne die Arbeitsmappe zu öffnen, können wir die Funktion Excel-VBA Mit Excel VBA können wir schnell die Daten aus anderen Arbeitsmappen kopieren, dazu müssen wir nur den Speicherort dieser Arbeitsmappe kennen.

Um die Daten zu kopieren, verwenden wir den Namen der Arbeitsmappe Produkt_Details Und wir wollen den Datenbereich kopieren ( B4:E10 Der Datensatz, den wir kopieren möchten, enthält einige Produkte, deren Verkaufspreise, Wareneinsatz und Bruttogewinnspannen. Schauen wir uns verschiedene Kriterien an, um Daten aus einer anderen Arbeitsmappe zu kopieren.

1. ein Blatt Daten aus einer anderen Arbeitsmappe ohne Öffnen mit Excel VBA kopieren

Wir können Daten aus einem Blatt kopieren, indem wir die VBA Hierfür müssen wir die folgenden Schritte durchführen.

SCHRITTE:

  • Gehen Sie erstens zur Entwickler in der Multifunktionsleiste.
  • Danach klicken Sie auf Visual Basic zum Öffnen des Visual Basic-Editor .
  • Eine andere Möglichkeit zum Öffnen der Visual Basic-Editor ist einfach zu drücken Alt + F11 .

  • Oder Sie klicken mit der rechten Maustaste auf das Blatt und wählen dann Code anzeigen .

  • Schreiben Sie nun die VBA-Code unten.

VBA-Code:

 Sub Copy_Data_from_Another_Workbook() Dim wb As Workbook Dim newwb As Workbook Dim rn1 As Range Dim rn2 As Range Set wb = Application.ActiveWorkbook With Application.FileDialog(msoFileDialogOpen) .Filters.Clear .Filters.Add "Excel 2007-13", "*.xlsx; *.xlsm; *.xlsa" .AllowMultiSelect = False .Show If .SelectedItems.Count> 0 Then Application.Workbooks.Open.SelectedItems(1) Set newwb = Application.ActiveWorkbook Set rn1 = Application.InputBox(prompt:="Select Data Range", Default:="A1", Type:=8) wb.Activate Set rn2 = Application.InputBox(prompt:="Select Destination Range", Default:="A1", Type:=8) rn1.Copy rn2 rn2.CurrentRegion.EntireColumn.AutoFit newwb.Close False End If End With End SubEnd With End Sub 
  • Führen Sie den Code schließlich aus, indem Sie auf die Schaltfläche Lauf Sub drücken Sie dagegen das Tastaturkürzel F5 Taste, um den Code auszuführen.

HINWEIS: Sie brauchen den Code nicht zu ändern, sondern können ihn einfach kopieren und einfügen.

  • Durch Ausführen des Codes Datei öffnen Fenster von Ihrem Computer angezeigt.
  • Klicken Sie anschließend auf die Arbeitsmappe, in der Sie Daten sammeln möchten.
  • Klicken Sie dann auf das Symbol OK Taste.

  • Wählen Sie nun die Daten aus der Quelldatei aus, indem Sie auf den Bereich ziehen B5:E10 und klicken Sie dann auf OK .

  • Nachdem Sie den Datenbereich ausgewählt haben, wählen Sie den Zielbereich aus, in dem Sie die Daten ablegen möchten.
  • Und, klicken Sie OK .

  • Am Ende wird die Quelldatei geschlossen und die Daten werden in die Zieldatei kopiert.

Lesen Sie mehr: Excel VBA: Bereich in eine andere Arbeitsmappe kopieren

Ähnliche Lektüre

  • Einfügen aus der Zwischenablage in Excel mit VBA
  • Kopieren und Einfügen in Excel ohne Makros deaktivieren (mit 2 Kriterien)
  • Kopieren ausschließender ausgeblendeter Zeilen in Excel (4 einfache Methoden)
  • Excel VBA zum Kopieren von Zeilen in ein anderes Arbeitsblatt anhand von Kriterien
  • Verwenden von VBA zum Einfügen von Werten ohne Formatierung in Excel

2) VBA zum Kopieren eines Datenbereichs aus einer anderen Arbeitsmappe ohne Öffnen in Excel

Durch die Verwendung des VBA Code unten können wir Daten aus einem Datenbereich kopieren. Dazu müssen wir die folgenden Schritte ausführen.

SCHRITTE:

  • Um zu beginnen, navigieren Sie zum Entwickler in der Multifunktionsleiste.
  • Zweitens, öffnen Sie die Visual Basic-Editor durch Anklicken von Visual Basic oder durch Drücken von Alt + F11 .
  • Oder Sie klicken einfach mit der rechten Maustaste auf das Blatt und wählen Code anzeigen zum Öffnen des Visual Basic-Editor .

  • Danach notieren Sie die VBA-Code dort.

VBA-Code:

 Sub CollectData() Dim rgTarget As Range Set rgTarget = ActiveSheet.Range("B2:E10") 'wo die kopierten Daten abgelegt werden sollen. rgTarget.FormulaArray = "='D:\[Product_Details.xlsx]Sheet1'!$B$4:$E$10" rgTarget.Formula = rgTarget.Value End Sub 
  • Hier führen Sie den Code mit ausführen. Unter oder drücken Sie das Tastaturkürzel F5 um den Code auszuführen.

HINWEIS: Sie brauchen den Code nicht zu ändern, Sie müssen nur den Bereich entsprechend Ihren Quelldaten ändern.

  • Und schließlich werden nun die Daten aus einer anderen Arbeitsmappe in die aktive Arbeitsmappe kopiert.

Lesen Sie mehr: Makro zum Kopieren und Einfügen von einem Arbeitsblatt in ein anderes (15 Methoden)

3) Excel VBA zum Kopieren von Daten aus einer anderen Arbeitsmappe ohne Öffnen mit Hilfe der Befehlsschaltfläche

Wir können Daten aus einer anderen Arbeitsmappe kopieren, indem wir die Befehlsschaltfläche auf der Registerkarte VBA Um dies zu erreichen, müssen wir die unten beschriebenen Schritte befolgen.

SCHRITTE:

  • Erstens, um eine Befehlsschaltfläche gehen Sie zum Entwickler tab.
  • Zweitens: Klicken Sie auf das Feld einfügen. Dropdown-Menü.
  • Drittens: Klicken Sie auf das Feld Befehlsschaltfläche .

  • Wir setzen die Produkt auf Zelle A1 da dies der Name unserer Quelldatei ist, und wir setzen die Befehlsschaltfläche Wir haben jetzt die Tabelle erstellt, wir brauchen nur noch die Daten, die sich in einer anderen Arbeitsmappe befinden.

  • Navigieren Sie in diesem Sinne zum Entwickler in der Multifunktionsleiste.
  • Klicken Sie dann auf Visual Basic oder drücken Sie Alt + F11 zum Starten der Visual Basic-Editor .
  • Sie können auch die Visual Basic-Editor durch Rechtsklick auf das Blatt und Auswahl von Code anzeigen .

  • Schreiben Sie nun die VBA Code runter.

VBA-Code:

 Private Sub CommandButton1_Click() Dim sourceworkbook As Workbook Dim currentworkbook As Workbook Set currentworkbook = ThisWorkbook Set sourceworkbook = Workbooks.Open("D:\Products_Details.xlsx") sourceworkbook.Worksheets("Product").Range("B5:E10").Copy currentworkbook.Activate currentworkbook.Worksheets("Sheet3").Activate currentworkbook.Worksheets("Sheet3").Cells(4, 1).Select ActiveSheet.Pastesourceworkbook.Close Set sourceworkbook = Nothing Set currentworkbook = Nothing ThisWorkbook.Activate Worksheets("Sheet3").Activate Worksheets("Sheet3").Range("A2").Select End Sub 
  • Speichern Sie dann den Code durch Drücken von Strg + S .

HINWEIS: Sie können den Code kopieren, Sie müssen nur den Dateipfad und den Datenbereich ändern.

  • Und schließlich, wenn Sie auf die Schaltfläche BefehlSchaltfläche1 werden die Daten aus einer anderen Arbeitsmappe kopiert, ohne diese zu öffnen.

Lesen Sie mehr: Makro zum Kopieren von Daten aus einer Arbeitsmappe in eine andere auf der Grundlage von Kriterien

Schlussfolgerung

Die oben genannten Kriterien sind Richtlinien zum Kopieren von Daten aus einer anderen Arbeitsmappe, ohne diese mit Excel VBA Ich hoffe, das hilft Ihnen! Wenn Sie Fragen, Anregungen oder Feedback haben, lassen Sie es uns im Kommentarbereich wissen. Oder werfen Sie einen Blick auf unsere anderen Artikel in der ExcelWIKI.de Blog!

Hugh West ist ein äußerst erfahrener Excel-Trainer und -Analyst mit über 10 Jahren Erfahrung in der Branche. Er verfügt über einen Bachelor-Abschluss in Rechnungswesen und Finanzen sowie einen Master-Abschluss in Betriebswirtschaft. Hugh hat eine Leidenschaft für das Unterrichten und hat einen einzigartigen Lehransatz entwickelt, der leicht zu befolgen und zu verstehen ist. Seine Expertenkenntnisse in Excel haben Tausenden von Studenten und Berufstätigen auf der ganzen Welt geholfen, ihre Fähigkeiten zu verbessern und in ihrer Karriere herausragende Leistungen zu erbringen. Über seinen Blog teilt Hugh sein Wissen mit der Welt und bietet kostenlose Excel-Tutorials und Online-Schulungen an, um Einzelpersonen und Unternehmen dabei zu helfen, ihr volles Potenzial auszuschöpfen.