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

Forumthread: Daten aus anderen Datein importieren - Makro? VBA?

Daten aus anderen Datein importieren - Makro? VBA?
Matthias
Hallo Experten,
Ich habe folgendes Problem. Ich habe ein Excel Tabellenblatt. Hier soll eine Gesellschaft Ihre Daten in den Zeilen erfassen. Diese Datei heisst immer gleich und wird mir jeweils von der Gesellschaft zugeschickt. Ich habe jetzt nun 30 Dateien von 30 Gesellschaften und möchte mir eine Datei machen mit 30 Tabellenblättern. Statt jede datei aufzumachen und die Daten copy paste in meine Datei einfügen, würde ich es gerne per Konopfdruck automatisch machen, dass die Daten in das entsprechende Tabellenblatt von der entsprechenden Datei der Gesellschaft automatisch importiert werden.
Das geht glaube ich nur mit VBA und von VBA habe ich leider keine Ahnung.
Ich danke Euch im Voraus für eure Hilfe.
Gruss
Matthias
Anzeige
AW: Daten aus anderen Datein importieren - Makro? VBA?
29.06.2011 15:25:54
Rudi
Hallo,
Daten in den Blättern ab A1.
Alle Dateien in einem Ordner. Und nur die!
Blätter in der Sammelmappe heißen wie die Dateien ohne .xls.
Sub prcImport()
Dim sFile As String, sName As String, wks As Worksheet
Const sPfad As String = "c:\test\"  'anpassen
Const strExt As String = ".xls"     'anpassen
Application.ScreenUpdating = False
sFile = Dir(sPfad & "*" & strExt, vbNormal)
Do While sFile  ""
sName = Left(sFile, Len(sFile) - Len(strExt))
Set wks = Workbooks.Open(sPfad & sFile).Sheets(1)
wks.Cells(1, 1).CurrentRegion.Offset(1).Copy _
ThisWorkbook.Sheets(sName).Cells(Rows.Count, 1).End(xlUp).Offset(1)
wks.Parent.Close False
sFile = Dir
Loop
End Sub

Gruß
Rudi
Anzeige
AW: Daten aus anderen Datein importieren - Makro? VBA?
29.06.2011 15:31:15
Matthias
Hi Rudi,
Vielen Dank erstmal. Nur noch bisschen für mein Verständnis. Dort wo "anpassen" steht muss ich den Ordner Pfad eingeben, oder? beim zweiten "anpassen" weiss ich aber nicht was ich ändern soll?
Gruss
Matthias
AW: Daten aus anderen Datein importieren - Makro? VBA?
29.06.2011 15:32:33
Rudi
Hallo,
1. richtig
2. kann ja sein, dass du .xlsx verarbeiten willst.
Gruß
Rudi
Anzeige
AW: Daten aus anderen Datein importieren - Makro? VBA?
29.06.2011 15:47:29
Matthias
Funktioniert irgendwie bei mir nicht. Bei uns hat dies bereits jemand gemacht mit folgendem Macro. Wenn ich jedoch das Makro anpasse funktioniert alles gut, jedoch bekomme ich nach dem Import eine Fehlermeldung Error 400. Was bedueted unterhalb das "si"?
Danke und Gruss
Matthias
Sub ImportTable()
Dim dlg As FileDialog
Dim si As Variant, Frage
Set dlg = Application.FileDialog(msoFileDialogOpen)
With dlg
.AllowMultiSelect = True
.InitialFileName = "*.xls"
.InitialView = msoFileDialogViewDetails
.Title = "ImportTable"
End With
If dlg.Show = True Then
Frage = MsgBox("Delete files after import?", vbYesNo)
For Each si In dlg.SelectedItems
Workbooks.Open Filename:=si
Worksheets("Overdues Reported").Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets. _
Count)
Workbooks(Dir(si)).Close savechanges:=False
If Frage = vbYes Then Kill si
Next
End If
End Sub

Anzeige
AW: Daten aus anderen Datein importieren - Makro? VBA?
29.06.2011 15:55:23
Matthias
Hallo Rudi,
Dein Makro läuft tip top und funktioniert.
Vielen Dank und Gruss
Matthias
;

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

Daten aus anderen Excel-Dateien importieren mit VBA


Schritt-für-Schritt-Anleitung

Um Daten aus anderen Excel-Dateien zu importieren, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  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. Füge den folgenden Code ein:

    Sub prcImport()
        Dim sFile As String, sName As String, wks As Worksheet
        Const sPfad As String = "c:\test\"  ' Hier den Ordnerpfad anpassen
        Const strExt As String = ".xls"     ' Hier die Dateiendung anpassen
        Application.ScreenUpdating = False
        sFile = Dir(sPfad & "*" & strExt, vbNormal)
    
        Do While sFile <> ""
            sName = Left(sFile, Len(sFile) - Len(strExt))
            Set wks = Workbooks.Open(sPfad & sFile).Sheets(1)
            wks.Cells(1, 1).CurrentRegion.Offset(1).Copy _
            ThisWorkbook.Sheets(sName).Cells(Rows.Count, 1).End(xlUp).Offset(1)
            wks.Parent.Close False
            sFile = Dir
        Loop
    End Sub
  4. Passe die Konstanten sPfad und strExt an, um den Pfad zu deinem Ordner und die Dateiendung festzulegen (z.B. .xlsx).

  5. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Dokument.

  6. Drücke ALT + F8, wähle prcImport aus und klicke auf „Ausführen“.


Häufige Fehler und Lösungen

1. Fehler 400

  • Dieser Fehler tritt häufig auf, wenn ein Problem mit dem Makro oder den Dateipfaden vorliegt. Überprüfe, ob der Pfad korrekt ist und ob die Dateien geöffnet werden können.

2. Falsche Dateiendung

  • Stelle sicher, dass die Dateiendung in der Konstante strExt mit der tatsächlichen Endung deiner Excel-Dateien übereinstimmt.

3. Blätter nicht gefunden

  • Wenn das Makro nicht auf die richtigen Blätter zugreifen kann, überprüfe die Namen der Blätter in den importierten Dateien.

Alternative Methoden

Es gibt auch andere Möglichkeiten, Daten in Excel zu importieren:

  • Power Query: Mit Power Query kannst du sehr einfach Daten aus verschiedenen Quellen importieren, einschließlich anderer Excel-Dateien und Webseiten.
  • Manuelles Kopieren: Wenn du nur gelegentlich Daten importieren musst, kannst du die Daten einfach manuell kopieren und einfügen.

Praktische Beispiele

Hier sind zwei Beispiele, wie du mit VBA Daten aus anderen Excel-Dateien importieren kannst:

  1. Importieren von Wetterdaten:

    • Verwende das Makro, um Wetterdaten aus mehreren Excel-Dateien automatisch zu importieren und in ein Master-Blatt zu konsolidieren.
  2. Importieren von Verkaufsdaten:

    • Erstelle ein ähnliches Makro, um Verkaufsdaten von verschiedenen Vertriebsmitarbeitern in ein zentrales Excel-Dokument zu importieren.

Tipps für Profis

  • Makros optimieren: Achte darauf, die Bildschirmaktualisierung während des Imports auszuschalten, um die Geschwindigkeit des Makros zu erhöhen.
  • Fehlerbehandlung einbauen: Füge Code zur Fehlerbehandlung hinzu, um unerwartete Probleme während des Imports zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich ein Makro in Excel importieren? Du kannst ein Makro in Excel importieren, indem du den VBA-Editor öffnest und den Code in ein neues Modul einfügst.

2. Wie kann ich Daten von einer Website in Excel importieren? Du kannst VBA verwenden, um Daten von einer Website in Excel zu importieren, indem du HTTP-Anfragen sendest und die Daten analysierst.

3. Was bedeutet der Fehler "VBA error 400"? Der Fehler "VBA error 400" deutet in der Regel auf ein Problem mit dem Code oder den verwendeten Objekten hin. Überprüfe den Code sorgfältig auf Syntaxfehler und ungültige Referenzen.

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