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

VBA auslesen von Dateien ohne sie zu öffnen

Forumthread: VBA auslesen von Dateien ohne sie zu öffnen

VBA auslesen von Dateien ohne sie zu öffnen
09.10.2013 20:43:38
Dateien
Hallo, ich absoluter Anfänger in VBA, bin dabei mich einzuarbeiten, allerdings habe ich ziemlichen Stress damit ich mein Projekt zum Abschluss bringen kann.
Ich habe hier im Archiv folgendes Programm gefunden, was auch an sich gut funktioniert:

Sub AuslesenGeschlDatei()
Dim rng As Range, _
sFile As String, sPath As String, _
oldStatusBar As Boolean
Application.ScreenUpdating = False
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
sFile = "quelle.xls"
sPath = ThisWorkbook.path & "\"
Application.StatusBar = "Daten werden importiert. Bitte warten..."
With Sheets(1)
.Range("A1:E100").Formula = "='" & sPath & "[" & sFile & _
"]Tabelle1'!A1:E100"
Set rng = .Range("A1:E100")
End With
rng.Cells(1).Copy rng
rng.Value = rng.Value
Application.ScreenUpdating = True
Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar
End Sub

Allerdings müsste ich für meine Zwecke noch ein paar Änderungen vornehmen, weiß allerdings nicht so genau wie.
Also ich habe schon geändert, dass der Pfad für die auszulesende Datei woanders ist und kann das gut kontrollieren.
Der Bereich den ich auslesen will ist A5:BO97 und ist im Tab:"Auswert." (momentan noch volle Breitseite, soll zukünftig auch anders werden, aber momentan ist die "Quick&Dirty" Methode zielführend :-)
Wenn ich das so abändere sind die auszulesenden Daten ja logischerweise an der selben Stelle. Ich brauch sie aber woanders und zwar soll A5(Quelldatei) an die Stelle B3 kommen und so weiter und der Tab heißt "CC2_DB".
Habe schon diverses probiert, allerdings komme ich mit meinem sehr jungfräulichen Wissen da nicht weiter und für die Pros unter euch ist das bestimmt echt easy.
Bedanke mich schonmal im Vorfeld und freue mich auf die weitere Kommunikation.
Gruß

Anzeige

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

Betreff
Datum
Anwender
Anzeige
M.VBA wdn Dateien immer (im HG) geöffnet! orT
09.10.2013 22:12:32
Luc:-?
Gruß Luc :-?

AW: VBA auslesen von Dateien ohne sie zu öffnen
10.10.2013 08:58:14
Dateien
Hi,
ich würde es mal so versuchen (wenn ich dich richtig verstanden habe):
     With Sheets("CC2_DB")
.Range("B3:BP95").Formula = "='" & sPath & "[" & sFile & _
"]Auswert'!B5:BO97"
Set Rng = .Range("B3:BP95")
End With


Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA zum Auslesen von .xls-Dateien ohne sie zu öffnen


Schritt-für-Schritt-Anleitung

Um Daten aus einer .xls-Datei zu lesen, ohne die Datei zu öffnen, kannst du das folgende VBA-Skript verwenden. Dieses Skript ermöglicht es dir, den gewünschten Datenbereich aus einer Quell-Datei in ein Ziel-Arbeitsblatt zu importieren.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (DeinDateiname)“ → Einfügen → Modul.
  3. Kopiere den folgenden Code in das Modul:
Sub AuslesenGeschlDatei()
    Dim rng As Range, _
    sFile As String, sPath As String, _
    oldStatusBar As Boolean
    Application.ScreenUpdating = False
    oldStatusBar = Application.DisplayStatusBar
    Application.DisplayStatusBar = True
    sFile = "quelle.xls" ' Ändere den Dateinamen hier entsprechend
    sPath = ThisWorkbook.Path & "\"
    Application.StatusBar = "Daten werden importiert. Bitte warten..."

    With Sheets("CC2_DB")
        .Range("B3:BP95").Formula = "='" & sPath & "[" & sFile & "]Auswert'!B5:BO97"
        Set rng = .Range("B3:BP95")
    End With

    rng.Cells(1).Copy rng
    rng.Value = rng.Value
    Application.ScreenUpdating = True
    Application.StatusBar = False
    Application.DisplayStatusBar = oldStatusBar
End Sub
  1. Passe die Variablen sFile und sPath an deine Bedürfnisse an.
  2. Führe das Skript aus, um die gewünschten Daten zu importieren.

Häufige Fehler und Lösungen

  • Fehler: „Die Datei kann nicht gefunden werden“
    Lösung: Überprüfe, ob der Dateiname und der Pfad korrekt angegeben sind. Stelle sicher, dass die Datei im angegebenen Verzeichnis liegt.

  • Fehler: „Referenz auf nicht vorhandenes Blatt“
    Lösung: Achte darauf, dass das Blatt „Auswert“ in der Quell-Datei existiert. Passe den Blattnamen im Code entsprechend an.


Alternative Methoden

Wenn du eine .xls-Datei lesen möchtest, ohne VBA zu verwenden, kannst du auch die Funktion „Daten abrufen“ in Excel verwenden:

  1. Gehe zu „Daten“ → „Daten abrufen“ → „Aus Datei“ → „Aus Arbeitsmappe“.
  2. Wähle die .xls-Datei aus und folge den Anweisungen im Assistenten.

Diese Methode eignet sich besonders gut, wenn du kein VBA-Experte bist.


Praktische Beispiele

Ein praktisches Beispiel zum Auslesen einer .xls-Datei könnte so aussehen:

Sub BeispielAuslesen()
    Dim rng As Range
    Dim sFile As String
    Dim sPath As String
    sFile = "Beispiel.xls"
    sPath = "C:\DeinPfad\" ' Stelle sicher, dass der Pfad korrekt ist

    With Sheets("Daten")
        .Range("A1:C10").Formula = "='" & sPath & "[" & sFile & "]Tabelle1'!A1:C10"
        Set rng = .Range("A1:C10")
    End With

    rng.Cells(1).Copy rng
    rng.Value = rng.Value
End Sub

Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden.
  • Experimentiere mit der Application.DisplayAlerts-Eigenschaft, um Warnhinweise während des Auslesens zu unterdrücken.
  • Verwende Error Handling, um unerwartete Fehler während des Auslesens zu behandeln.

FAQ: Häufige Fragen

1. Kann ich auch .xlsx-Dateien mit diesem Code auslesen?
Ja, der Code funktioniert auch für .xlsx-Dateien. Achte darauf, den Dateinamen und die Erweiterung entsprechend anzupassen.

2. Wie kann ich die Daten in ein bestimmtes Format umwandeln?
Du kannst nach dem Auslesen der Daten verschiedene Excel-Funktionen verwenden, um die Daten zu formatieren, wie z.B. Format, um Zahlen oder Datumsangaben zu formatieren.

3. Funktioniert dieser Code in Excel 2016 und 2019?
Ja, dieser Code ist kompatibel mit Excel 2016, 2019 und auch den meisten früheren Versionen. Stelle sicher, dass du die richtigen Berechtigungen hast, um auf die Dateien zuzugreifen.

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