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

Forumthread: Tabellenblatt aus anderer Datei importieren

Tabellenblatt aus anderer Datei importieren
08.10.2015 10:49:00
Mark
Hallo!
Habe einen Code der mir einen bestimmten Bereich aus einer gewählten Datei kopiert und einfügt.
Jetzt würde ich gerne anstelle des Bereichs einfach das ganze Blatt inkl. Formatierung kopieren und einfügen. Es wäre auch möglich den zuvor gewählten Bereich inkl. seiner Formatierung zu kopieren.
Sub Reifenliste()
uitwerkingnaam = (Application.ActiveWorkbook.Name)
Filename = Application.GetOpenFilename("XLS files (*.xlsx), *.xlsx")
If Filename = "" Then
teller = 0
Do Until teller = 2
teller2 = teller + 1
MsgBox "you must select an xls file"
Filename = Application.GetOpenFilename("XLS files (*.xlsx), *.xlsx")
Loop
Else
Workbooks.Open Filename:=Filename
End If
'Festlegung des Tabellennamens auf der die Daten sind
sheetname = "Tabelle1"
'Meldung des Zwischenspeichers ausblenden
Application.DisplayAlerts = False
Worksheets(sheetname).Range("A8:J500").Copy     'Bereich der aus der  eingefügten Datei kopiert  _
wird'
bandnaam = (Application.ActiveWorkbook.Name)
Windows(bandnaam).Close
'Windows(uitwerkingnaam).Activate
'Ort an den die Daten kopiert werden'
ActiveSheet.Paste Destination:=Worksheets("Reifenliste").Range("B3")  'Beginn der eingefü _
gten Daten'
Worksheets("Reifenliste").Activate
Worksheets("Reifenliste").Range("A3").Select    'Hier steht der Name  _
der Datei die eingefügt wurde'
Selection.Formula = bandnaam
'Meldung Zwischenspeicher wieder aktivieren
Application.DisplayAlerts = True
'Zelle die nach dem Einfü _
gen makiert wird'
Worksheets("Home").Activate
Worksheets("Home").Range("B18").Select
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt aus anderer Datei importieren
12.10.2015 08:54:42
matthias
Hallo Mark,
probier es mal mit Worksheets().Copy
Worksheets(sheetname).Copy Before:=Workbooks(uitwerkingnaam).Sheets(1)
bandnaam = (Application.ActiveWorkbook.Name)
Windows(bandnaam).Close
lg Matthias

AW: Tabellenblatt aus anderer Datei importieren
12.10.2015 12:02:01
Mark
Hallo Matthias!
Danke für deine Hilfe. Wo muss ich denn das einsetzen? Leider habe ich keine Ahnung von VBA. Ich habe es an die Stelle gesetzt wo ursprünglich begonnen wurde das Blatt zu kopieren.
Leider schließt mir Excel eiskalt mein Dokument und öffnet die gewählte Datei aus der ich das Tabellenblatt kopieren wollte.

Anzeige
AW: Tabellenblatt aus anderer Datei importieren
12.10.2015 13:48:02
matthias
Hallo Mark,
du musst nur das Kopieren aus der Datei und das Einfügen in Tabelleblatt "Reifenliste" ersetzen. Zudem wird dein Name der Datei ja nicht mehr in die "Reifenliste" sondern in das kopierte Blatt geschrieben
Sub Reifenliste()
uitwerkingnaam = (Application.ActiveWorkbook.Name)
Filename = Application.GetOpenFilename("XLS files (*.xlsx), *.xlsx")
If Filename = "" Then
teller = 0
Do Until teller = 2
teller2 = teller + 1
MsgBox "you must select an xls file"
Filename = Application.GetOpenFilename("XLS files (*.xlsx), *.xlsx")
Loop
Else
Workbooks.Open Filename:=Filename
End If
'Festlegung des Tabellennamens auf der die Daten sind
sheetname = "Tabelle1"
'Meldung des Zwischenspeichers ausblenden
Application.DisplayAlerts = False
'kopiertes Blatt an 1. Stelle einfügen
Worksheets(sheetname).Copy Before:=Workbooks(uitwerkingnaam).Sheets(1)
bandnaam = (Application.ActiveWorkbook.Name)
Windows(bandnaam).Close
Sheets(1).Range("A3") = bandnaam   'Hier steht der Name der Datei die eingefügt wurde'
'Meldung Zwischenspeicher wieder aktivieren'
Application.DisplayAlerts = True
'Zelle die nach dem Einfügen makiert wird'
Worksheets("Home").Activate
Worksheets("Home").Range("B18").Select
End Sub
Zu dem Thema "Endlosschleife" und "keine Datei gewählt" sag ich mal nix weiter, dazu hatte ich mich bei deinem vorherigen Post bereits geäußert.
lg Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt aus anderer Datei importieren


Schritt-für-Schritt-Anleitung

Um ein Excel Tabellenblatt aus einer anderen Datei einzufügen, kannst du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es dir, ein gesamtes Blatt inklusive Formatierung in eine andere Excel-Datei zu kopieren.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub Reifenliste()
       uitwerkingnaam = (Application.ActiveWorkbook.Name)
       Filename = Application.GetOpenFilename("XLS files (*.xlsx), *.xlsx")
       If Filename = "" Then
           teller = 0
           Do Until teller = 2
               teller2 = teller + 1
               MsgBox "you must select an xls file"
               Filename = Application.GetOpenFilename("XLS files (*.xlsx), *.xlsx")
           Loop
       Else
           Workbooks.Open Filename:=Filename
       End If
       'Festlegung des Tabellennamens auf der die Daten sind
       sheetname = "Tabelle1"
       'Meldung des Zwischenspeichers ausblenden
       Application.DisplayAlerts = False
       'kopiertes Blatt an 1. Stelle einfügen
       Worksheets(sheetname).Copy Before:=Workbooks(uitwerkingnaam).Sheets(1)
       bandnaam = (Application.ActiveWorkbook.Name)
       Windows(bandnaam).Close
       Sheets(1).Range("A3") = bandnaam   'Hier steht der Name der Datei die eingefügt wurde'
       'Meldung Zwischenspeicher wieder aktivieren'
       Application.DisplayAlerts = True
       'Zelle die nach dem Einfügen makiert wird'
       Worksheets("Home").Activate
       Worksheets("Home").Range("B18").Select
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um das Excel Arbeitsblatt aus einer anderen Datei einzufügen.


Häufige Fehler und Lösungen

  • Problem: Excel schließt sich unerwartet.

    • Lösung: Stelle sicher, dass alle erforderlichen Dateien geöffnet sind, bevor du das Makro ausführst.
  • Problem: Die Datei wird nicht gefunden.

    • Lösung: Überprüfe den Dateipfad und stelle sicher, dass die Datei vorhanden ist.
  • Problem: Das Blatt wird nicht korrekt kopiert.

    • Lösung: Achte darauf, dass der Name des Blattes im Code korrekt angegeben ist.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch manuell ein Excel Blatt aus einer anderen Datei einfügen:

  1. Öffne beide Excel-Dateien.
  2. Wähle das Blatt, das du kopieren möchtest, und klicke mit der rechten Maustaste auf den Reiter.
  3. Wähle Verschieben oder Kopieren.
  4. Wähle im Dialogfeld die Zielarbeitsmappe aus und bestätige mit OK.

Diese Methode ist einfach und erfordert keine Programmierkenntnisse.


Praktische Beispiele

Ein praktisches Beispiel ist das Kopieren eines Excel Tabellenblatts von einem Bericht in eine Zusammenfassungsdatei. Hierfür kannst du entweder den VBA-Code verwenden oder die manuelle Methode, um die relevanten Daten schnell zu übertragen.


Tipps für Profis

  • Verwende Worksheet.Copy, um mehrere Blätter gleichzeitig zu kopieren.
  • Optimiere deinen Code, indem du Fehlerbehandlungsroutinen hinzufügst.
  • Experimentiere mit verschiedenen Zielorten, indem du den Parameter Before oder After in der Copy-Methode nutzt.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter gleichzeitig kopieren?
Du kannst eine Schleife verwenden, um durch die gewünschten Blätter zu iterieren und sie nacheinander zu kopieren.

2. Was muss ich tun, wenn ich eine ältere Excel-Version habe?
Stelle sicher, dass deine Excel-Version VBA unterstützt. Ältere Versionen können möglicherweise nicht alle Funktionen des Codes ausführen.

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