Wie verwende ich die Input #-Anweisung in VBA?

In VBA (Visual Basic for Applications) wird die `Input #`-Anweisung verwendet, um Daten aus einer Datei zu lesen. Diese Anweisung ist hilfreich, wenn Sie zeilenweise oder datensatzweise Dateiinhalt in eine Variable einlesen möchten.

Hier ist ein einfaches Beispiel, wie die `Input #`-Anweisung in VBA verwendet werden kann:

Sub ReadFromFile()
    Dim fileNumber As Integer
    Dim fileName As String
    Dim inputData As String

    ' Dateiname angeben
    fileName = "C:PfadzurDatei.txt"
    
    ' Nächste verfügbare Dateinummer abrufen
    fileNumber = FreeFile
    
    ' Datei zum Lesen öffnen
    Open fileName For Input As #fileNumber
    
    ' Datei zeilenweise lesen
    Do While Not EOF(fileNumber)
        Line Input #fileNumber, inputData
        ' Verarbeiten Sie die eingelesenen Daten
        Debug.Print inputData
    Loop
    
    ' Datei schließen
    Close #fileNumber
End Sub

Erläuterung:

  • `FreeFile`: Diese Funktion gibt die nächste verfügbare Dateinummer zurück, die im `Open` Statement verwendet wird. Dadurch wird verhindert, dass eine bereits geöffnete Dateinummer überschrieben wird.
  • `Open`: Der Befehl öffnet die Datei, damit sie eingelesen werden kann. Hier verwenden wir den Modus `Input`, um die Datei nur zu lesen.
  • `EOF(fileNumber)`: Das steht für “End of File”. Solange das Ende der Datei (EOF) nicht erreicht ist, wird die Schleife fortgesetzt.
  • `Line Input #`: Liest eine ganze Zeile aus der Datei in die Variable `inputData`.
  • `Debug.Print`: Gibt die eingelesenen Daten im Direktfenster von VBE (Visual Basic Editor) aus. Sie können hier auch die Daten anderweitig verarbeiten.
  • `Close`: Diese Anweisung schließt die geöffnete Datei.

Beachten Sie bitte, dass Sie den Pfad zur Datei entsprechend Ihrer Datei anpassen müssen. Die Anweisung `Line Input #` ist ideal, wenn Sie mit Textdateien arbeiten, die zeilenweise organisiert sind. Wenn Ihre Datei unterschiedliche Strukturen hat, wie zum Beispiel CSV, möchten Sie eventuell zusätzliche String-Verarbeitungsfunktionen verwenden, um die Daten in sinnvolle Teile zu zerlegen.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project