Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel Dateien öffnen -> kopieren -> schliessen ?

Forumthread: Excel Dateien öffnen -> kopieren -> schliessen ?

Excel Dateien öffnen -> kopieren -> schliessen ?
17.12.2002 14:07:33
kekrops
hallo

ich habe folgendes kleines problem. ich mit hilfe von vba in eine exceltabelle einträge aus anderen excel dateien übernehmen.
ich habe mir das folgender massen vorgestellt, ich öffne jede einzelne datei, kopiere die gewünschten inhlte in meine neue tabelle und schliesse die datei wieder um mit der nächsten fortzufahren.
leider klappt es nicht so einfach...ich kann die dateien öffnen (mit workbooks.open dateiname) aber wie mache ich nun weiter?? wie kann ich die einzelnen tabellen/dateien die ich geöffnet habe ansprechen; und wie kann ich dann die alte datei wieder schliessen, ohne meine neue tabelle zu schliessen??

besten dank schonmal für eure hilfe

kai


Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Excel Dateien öffnen -> kopieren -> schliessen ?
17.12.2002 14:44:59
Martin Bolleter
Hallo Kai

wenn du die Datei geöffnet hast mit
Workbooks.Open "DeineDatei.xls"
dann kannst du die Bereiche darin ansprechen resp kopieren zB
Workbooks("DeineDatei.xls").Sheets("Tabelle1").Cells(1,1).copy Destination:= Workbooks("Summary.xls").Sheets("Tabelle1").Cells(1,1)

Zum Schluss dann noch
Workbooks("DeineDatei.xls").Close

Gruss
Martin

Anzeige
Re: Excel Dateien öffnen -> kopieren -> schliessen ?
17.12.2002 14:47:58
Steffen D
Hi,

nachdem du die Datei geöffnet hast, kannst du jetzt die Zellen koppieren:
Beispiel:

Sheets("Tabelle1").Range("A1:D20").Copy

dann wechselst du in diese andere Mappe mit:

Windows("Mappe1.xls").Activate

und fügst den Inhalt aus der Zwischenablage ein:
ActiveSheet.Range("A1").Insert

versuch mal einfach den Makrorekorder
und dann kannst du ja das ganze mal an deine Bedürfnisse anpassen!

Gruß
Steffen D

Anzeige
;
Anzeige

Infobox / Tutorial

Excel Dateien öffnen, kopieren und schließen


Schritt-für-Schritt-Anleitung

Um mit Excel VBA eine Datei zu öffnen, deren Inhalt zu kopieren und die Datei anschließend zu schließen, folge diesen Schritten:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xls)" und wähle "Einfügen" > "Modul".

  3. Code einfügen: Verwende den folgenden VBA-Code:

    Sub DatenKopieren()
       Dim Quelle As Workbook
       Dim Ziel As Workbook
    
       ' Zieldatei festlegen
       Set Ziel = ThisWorkbook
    
       ' Quelldatei öffnen
       Set Quelle = Workbooks.Open("Pfad\Zu\DeinerDatei.xls")
    
       ' Daten kopieren
       Quelle.Sheets("Tabelle1").Range("A1:D20").Copy Destination:=Ziel.Sheets("Tabelle1").Range("A1")
    
       ' Quelldatei schließen
       Quelle.Close SaveChanges:=False
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.


Häufige Fehler und Lösungen

  • Fehler: Datei kann nicht gefunden werden
    Lösung: Überprüfe den Pfad zur Datei, stelle sicher, dass die Datei existiert und die Endung korrekt ist (z.B. .xls).

  • Fehler: Arbeitsmappe nicht geöffnet
    Lösung: Stelle sicher, dass du die Datei mit Workbooks.Open korrekt öffnest. Achte auch darauf, dass die Datei nicht bereits geöffnet ist.

  • Fehler: Ungültiger Bereich
    Lösung: Überprüfe, ob der angegebene Bereich (z.B. A1:D20) in der Quell-Datei existiert.


Alternative Methoden

Eine alternative Methode besteht darin, den Makrorekorder zu verwenden:

  1. Makrorekorder starten: Gehe zu Entwicklertools > Makro aufzeichnen.
  2. Aktionen ausführen: Öffne die Datei, kopiere die Daten und füge sie in die Zieldatei ein.
  3. Makro anpassen: Nachdem du die Aufzeichnung gestoppt hast, kannst du den generierten Code im VBA-Editor anpassen.

Praktische Beispiele

Hier ist ein einfaches Beispiel, um Inhalte aus mehreren Excel-Dateien zu kopieren:

Sub MehrereDateienKopieren()
    Dim Datei As Workbook
    Dim Ziel As Workbook
    Dim i As Integer

    Set Ziel = ThisWorkbook

    ' Beispiel für das Öffnen und Kopieren von 3 Dateien
    For i = 1 To 3
        Set Datei = Workbooks.Open("Pfad\Zu\Datei" & i & ".xls")
        Datei.Sheets("Tabelle1").Range("A1:D20").Copy Destination:=Ziel.Sheets("Tabelle" & i).Range("A1")
        Datei.Close SaveChanges:=False
    Next i
End Sub

Dieses Skript öffnet nacheinander drei .xls-Dateien, kopiert die Daten und schließt die Dateien.


Tipps für Profis

  • Verwende Fehlerbehandlung: Implementiere On Error Resume Next, um Fehler zu ignorieren und den Code robuster zu machen.
  • Optimierung: Schalte Bildschirmaktualisierungen mit Application.ScreenUpdating = False aus, um die Verarbeitung zu beschleunigen.
  • Datenvalidierung: Füge vor dem Kopieren eine Validierung ein, um sicherzustellen, dass der Bereich nicht leer ist.

FAQ: Häufige Fragen

1. Wie kann ich mehrere .xls-Dateien auf einmal öffnen?
Du kannst eine Schleife verwenden, um mehrere Dateien nacheinander zu öffnen und zu bearbeiten, wie im praktischen Beispiel gezeigt.

2. Was mache ich, wenn ich .xls-Dateien nicht sehen kann?
Stelle sicher, dass der Dateityp in deinem Explorer auf .xls eingestellt ist und dass die Dateien nicht versteckt sind.

3. Gibt es eine Möglichkeit, Daten aus .xlsx-Dateien zu kopieren?
Ja, der gleiche Code funktioniert auch mit .xlsx-Dateien. Achte darauf, die Dateiendung entsprechend anzupassen.

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