Tabellenblatt aus anderer Datei importieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Tabellenblatt aus anderer Datei importieren
von: Mark Fährrolfes
Geschrieben am: 08.10.2015 10:49:00

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

Bild

Betrifft: AW: Tabellenblatt aus anderer Datei importieren
von: matthias
Geschrieben am: 12.10.2015 08:54:42
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

Bild

Betrifft: AW: Tabellenblatt aus anderer Datei importieren
von: Mark Fährrolfes
Geschrieben am: 12.10.2015 12:02:01
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.

Bild

Betrifft: AW: Tabellenblatt aus anderer Datei importieren
von: matthias
Geschrieben am: 12.10.2015 13:48:02
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

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Tabellenblatt aus anderer Datei importieren"