Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Tabellenblatt aus anderer Datei importieren

VBA Tabellenblatt aus anderer Datei importieren
26.06.2014 10:39:49
Knoof
Hallo,
Ich möchte ein Tabellenblatt aus einer anderen Excel Datei importieren, allerdings so, dass kein neues Tabellenblatt dafür erzeugt wird, sondern der import in das vorhandene Sheet 1 passiert.
Der import klappt soweit jedoch wird immerwieder ein neues Tabellenblatt erzeugt "Sheet 1(2)" etc.
Hier der Code:
Private Sub cmdimport_Click()
Dim QWB As Workbook, ZWB As Workbook
Dim ordner As Variant
ordner = Application.GetOpenFilename("Manche Dateien (*.txt),*.txt,Alle Dateien,*.*")      '  _
Wenn die Datei erst geöffnet werden muss
Set QWB = Workbooks.Open(ordner)          ' Quelle, aus der die Tabelle41 kopiert werden soll
Set ZWB = ThisWorkbook                  ' Ziel, Workbook mit diesem Makro
Dim QWS As Worksheet, ZWS As Worksheet
Set QWS = QWB.Worksheets("Sheet 1")   ' Quelle
Set ZWS = ZWB.ActiveSheet    ' Ziel
QWS.Copy after:=ZWS                 ' oder before
QWB.Close          ' Wenn die Datei wieder geschlossen werden soll
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Tabellenblatt aus anderer Datei importieren
26.06.2014 10:45:32
Rudi
Hallo,
einfach rein?
qws.cells.copy zws.cells(1,1)
Gruß
Rudi

AW: VBA Tabellenblatt aus anderer Datei importieren
26.06.2014 10:54:35
Knoof
Danke ! klappt!
aller dings stört das QWB.Close jetzt.
Es werden nun alle Excel Dateien geschlossen, es soll jedoch nur die Quelldatei nach dem import geschlossen werden, auch wenn Sie ständig ihren Namen wechselt.

Anzeige
AW: VBA Tabellenblatt aus anderer Datei importieren
26.06.2014 11:05:40
Rudi
Hallo,
teste mal:
Private Sub cmdimport_Click()
Dim QWB As Workbook, ZWB As Workbook
Dim QWS As Worksheet, ZWS As Worksheet
Dim ordner As Variant
'Wenn die Datei erst geöffnet werden muss
Set ZWB = ThisWorkbook                  ' Ziel, Workbook mit diesem Makro
Set ZWS = ZWB.ActiveSheet    ' Ziel
ordner = Application.GetOpenFilename("Manche Dateien (*.txt),*.txt,Alle Dateien,*.*")
Set QWB = Workbooks.Open(ordner)          ' Quelle, aus der die Tabelle41 kopiert werden soll
Set QWS = QWB.Worksheets("Sheet 1")   ' Quelle
QWS.Cells.Copy ZWS.Cells(1, 1)                ' oder before
QWB.Close          ' Wenn die Datei wieder geschlossen werden soll
End Sub

Gruß
Rudi

Anzeige
AW: VBA Tabellenblatt aus anderer Datei importieren
26.06.2014 11:10:22
Knoof
Yeess Vielen Vielen Dank!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA Tabellenblatt aus anderer Datei importieren


Schritt-für-Schritt-Anleitung

Um ein Tabellenblatt aus einer anderen Excel-Datei zu importieren, ohne ein neues Blatt zu erstellen, kannst Du folgenden VBA-Code verwenden:

Private Sub cmdimport_Click()
    Dim QWB As Workbook, ZWB As Workbook
    Dim QWS As Worksheet, ZWS As Worksheet
    Dim ordner As Variant

    ' Ziel-Workbook mit diesem Makro
    Set ZWB = ThisWorkbook
    Set ZWS = ZWB.ActiveSheet

    ' Datei auswählen
    ordner = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx), *.xls; *.xlsx")

    ' Quelldatei öffnen
    Set QWB = Workbooks.Open(ordner)
    Set QWS = QWB.Worksheets("Sheet 1") ' Ersetze "Sheet 1" durch den Namen des gewünschten Blattes

    ' Daten kopieren
    QWS.Cells.Copy ZWS.Cells(1, 1)

    ' Quelldatei schließen
    QWB.Close
End Sub

Dieser Code importiert Daten aus einer anderen Excel-Datei. Achte darauf, dass Du den Namen des zu importierenden Tabellenblattes anpasst.


Häufige Fehler und Lösungen

  1. Neues Tabellenblatt wird erstellt:

    • Wenn Du ein neues Tabellenblatt anstatt die Daten in das vorhandene Blatt importierst, überprüfe, ob Du die Copy-Methode richtig verwendest. Der oben angegebene Code sollte das Problem lösen.
  2. Alle Excel-Dateien schließen:

    • Wenn Du beim Schließen der Quelldatei alle Excel-Dateien schließt, stelle sicher, dass Du nur die Quelldatei schließt, wie im oben dargestellten Code.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, Daten aus einer anderen Excel-Datei zu importieren:

  • Excel-Importassistent: Du kannst auch den Excel-Importassistenten verwenden, um Daten aus einer anderen Datei zu importieren, ohne VBA zu verwenden. Dies kann hilfreich sein, wenn Du keine Programmierung verwenden möchtest.

  • Power Query: Eine weitere Möglichkeit ist die Nutzung von Power Query, um Daten zu importieren und zu transformieren. Dies ist besonders nützlich für wiederholte Importvorgänge.


Praktische Beispiele

Ein einfaches Beispiel für das Importieren von Daten könnte folgendermaßen aussehen:

  • Du hast eine Excel-Datei "Daten.xlsx" mit einem Tabellenblatt "Verkäufe". Du möchtest diese Daten in das aktive Blatt Deiner aktuellen Datei importieren. Verwende den oben angegebenen VBA-Code und passe den Blattnamen an.

Tipps für Profis

  • Dynamische Blattnamen: Du kannst auch den Blattnamen dynamisch festlegen, indem Du ihn über ein Eingabefeld abfragst. So bist Du flexibler beim Importieren von Daten aus verschiedenen Quellen.

  • Fehlerbehandlung einfügen: Implementiere eine Fehlerbehandlung in Deinem Makro, um den Benutzer zu warnen, falls die Quelldatei nicht gefunden wird oder das Blatt nicht existiert.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter gleichzeitig importieren?
Du kannst eine Schleife verwenden, um durch alle gewünschten Tabellenblätter in der Quelldatei zu iterieren und diese in die Zieldatei zu kopieren.

2. Was mache ich, wenn die Quelldatei passwortgeschützt ist?
Du musst das Passwort im Workbooks.Open-Befehl angeben. Beispiel: Set QWB = Workbooks.Open(ordner, Password:="deinPasswort").

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige