Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten aus anderer Excel-Datei einlesen

Daten aus anderer Excel-Datei einlesen
Julia
Hallo Leute,
ich brauche dringend eure Hilfe.
Ich möchte mittels eines Dialog-Fensters eine Excel-Datei auswählen, dann aus dieser Datei in der SpalteB ab B2 bis zum letzten Eintrag die Daten auslesen und in meine geöffnete Datei ab Spalte B2 eintragen.
Der Dateinamen und die Anzahl der Einträge ändert sich ständig.
Vielen Dank im Voraus
Gruß Julia
Anzeige
AW: Daten aus anderer Excel-Datei einlesen
07.10.2010 10:32:40
welga
Hallo versuch doch mal folgendes:
Sub import()
Dim dateiname
Dim daten(65536)
Dim i As Long, a As Long
dateiname = Application.GetOpenFilename
Application.ScreenUpdating = False
Application.DisplayAlerts = False
If dateiname  False Then
' Datei öffnen, Meßwerte lesen und Datei schließen
Workbooks.OpenText FileName:=dateiname, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1))
a = ActiveWorkbook.Sheets(1).[b65536].End(xlUp).Row
For i = 2 To a
daten(i) = Cells(i, 2)
Next i
Workbooks(2).Close
For i = 2 To a
ThisWorkbook.Sheets(1).Cells(i, 2) = daten(i)
Next i
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Gruß
Anzeige
AW: Daten aus anderer Excel-Datei einlesen
07.10.2010 11:26:22
Julia
Hallo,
das Dialog-fenster öffnet sich und ich kann auch eine Datei auswählen, die anschließend geöffnet wird. Jedoch werden die Daten nicht in meine Liste eingelesen.
Gruß Julia
AW: Daten aus anderer Excel-Datei einlesen
07.10.2010 12:19:28
welga
Kannst du mal eine Bsp-Datei hochladen, welche du importiert haben möchtest?
AW: Daten aus anderer Excel-Datei einlesen
07.10.2010 13:17:28
Julia
Hier ist die Datei.
https://www.herber.de/bbs/user/71797.xls
Gruß Julia
Anzeige
AW: Daten aus anderer Excel-Datei einlesen
07.10.2010 13:49:02
welga
Hallo,
sorry war ein kleiner aber entscheidender Fehler:
Sub import()
Dim dateiname
Dim daten(65536)
Dim i As Long, a As Long
dateiname = Application.GetOpenFilename
Application.ScreenUpdating = False
Application.DisplayAlerts = False
If dateiname  False Then
' Datei öffnen, Meßwerte lesen und Datei schließen
Workbooks.OpenText Filename:=dateiname, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1))
a = ActiveWorkbook.Sheets(1).[b65536].End(xlUp).Row
For i = 2 To a
daten(i) = ActiveWorkbook.Sheets(1).Cells(i, 2)
Next i
Workbooks(2).Close
For i = 2 To a
ThisWorkbook.Sheets(1).Cells(i, 2) = daten(i)
Next i
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Versuch es mal
Anzeige
AW: Daten aus anderer Excel-Datei einlesen
08.10.2010 10:38:56
Josef
Hallo,
hier werden aber nur Werte aus einer Spalte kopiert und übertragen.
Wie muß ich den Code ändern, wenn ich die komplette Zeile übertragen möchte?
Vielen Dank.
Gruß
Josef
AW: Daten aus anderer Excel-Datei einlesen
08.10.2010 12:36:32
welga
Hallo Josef,
eventuell so:
Sub import()
Dim dateiname
Dim daten(65536, 256)
Dim i As Long, a As Long, y As Long
dateiname = Application.GetOpenFilename
Application.ScreenUpdating = False
Application.DisplayAlerts = False
If dateiname  False Then
' Datei öffnen, Meßwerte lesen und Datei schließen
Workbooks.OpenText Filename:=dateiname, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1))
a = ActiveWorkbook.Sheets(1).[b65536].End(xlUp).Row
For i = 2 To a
For y = 1 To 256
daten(i, y) = ActiveWorkbook.Sheets(1).Cells(i, 2)
Next y
Next i
Workbooks(2).Close
For i = 2 To a
For y = 1 To 256
ThisWorkbook.Sheets(1).Cells(i, y) = daten(i, y)
Next y
Next i
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Gruß
Anzeige
;

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 einer anderen Excel-Datei einlesen


Schritt-für-Schritt-Anleitung

Um Daten aus einer anderen Excel-Datei einzulesen, kannst Du den folgenden VBA-Code verwenden. Dieser Code öffnet ein Dialogfenster, in dem Du die gewünschte Datei auswählen kannst und liest anschließend die Daten aus Spalte B ab der Zeile 2 ein:

Sub import()
    Dim dateiname
    Dim daten(65536)
    Dim i As Long, a As Long
    dateiname = Application.GetOpenFilename
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    If dateiname <> False Then
        ' Datei öffnen, Meßwerte lesen und Datei schließen
        Workbooks.OpenText Filename:=dateiname, Origin:= _
        xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1))

        a = ActiveWorkbook.Sheets(1).[b65536].End(xlUp).Row
        For i = 2 To a
            daten(i) = ActiveWorkbook.Sheets(1).Cells(i, 2)
        Next i

        Workbooks(2).Close
        For i = 2 To a
            ThisWorkbook.Sheets(1).Cells(i, 2) = daten(i)
        Next i
    End If
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Dieser Code funktioniert sowohl für .xls- als auch für .xlsx-Dateien. Achte darauf, die Excel-Datei zu speichern, bevor Du den Code ausführst.


Häufige Fehler und Lösungen

  1. Daten werden nicht eingelesen: Überprüfe, ob die Datei tatsächlich Daten in Spalte B enthält. Der Code funktioniert nur, wenn in der angegebenen Spalte Werte vorhanden sind.

  2. Dialogfenster öffnet sich nicht: Stelle sicher, dass Du die Makros aktiviert hast, da der Code in VBA ausgeführt wird.

  3. Falsche Daten werden kopiert: Achte darauf, dass im Code die richtige Zelle referenziert wird. Prüfe die Zeilen, in denen die Daten gespeichert werden.


Alternative Methoden

Wenn Du Daten aus einer Excel-Datei importieren möchtest, ohne die Datei zu öffnen, kannst Du auch die Power Query-Funktion verwenden. Diese Methode ist besonders nützlich, wenn Du regelmäßig Daten aus den gleichen Dateien importierst.

  1. Gehe zu Daten > Daten abrufen > Aus Datei > Aus Arbeitsmappe.
  2. Wähle die Datei aus und folge den Anweisungen zur Datenbearbeitung.

Praktische Beispiele

Beispiel 1: Übertragen der kompletten Zeile

Wenn Du die gesamte Zeile anstelle nur einer Spalte einlesen möchtest, kannst Du den Code wie folgt anpassen:

For i = 2 To a
    For y = 1 To 256
        daten(i, y) = ActiveWorkbook.Sheets(1).Cells(i, y)
    Next y
Next i

Beispiel 2: Daten aus einer bestimmten .xlsx-Datei einlesen

dateiname = "C:\Pfad\zur\deiner\Datei.xlsx"
Workbooks.Open dateiname

Tipps für Profis

  • Verwende Option Explicit am Anfang Deines Codes, um sicherzustellen, dass alle Variablen deklariert werden.
  • Optimiere Deine Makros, indem Du die Bildschirmaktualisierung nur bei Bedarf ein- und ausschaltest.
  • Dokumentiere Deinen Code ordentlich, damit Du und andere Nutzer die Funktionsweise besser nachvollziehen können.

FAQ: Häufige Fragen

1. Wie kann ich Daten aus einer .xls-Datei lesen? Du kannst den oben genannten VBA-Code verwenden. Er unterstützt sowohl .xls- als auch .xlsx-Dateien.

2. Was mache ich, wenn die Datei einen Passwortschutz hat? In diesem Fall musst Du die Datei zuerst manuell öffnen, da VBA nicht in der Lage ist, passwortgeschützte Dateien zu entsperren.

3. Kann ich Daten aus mehreren Dateien gleichzeitig einlesen? Ja, Du kannst eine Schleife verwenden, um durch eine Liste von Dateinamen zu iterieren und die Daten entsprechend zu importieren.

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