Lesen Sie Daten aus einer Textdatei mit Excel VBA - Easy Excel Macros

Inhaltsverzeichnis

Im Folgenden sehen wir uns ein Programm in an Excel VBA das liest Daten aus einer Textdatei. Diese Datei enthält einige geografische Koordinaten, die wir in Excel importieren möchten.

Lage:

1. Laden Sie zuerst die Textdatei herunter und fügen Sie sie zu "C:\test\" hinzu.

Platzieren Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgenden Codezeilen hinzu:

2. Wir deklarieren vier Variablen. myFile vom Typ String, Text vom Typ String, Textzeile vom Typ String, posLat vom Typ Integer und posLong vom Typ Integer.

Dim myFile As String, text As String, textline As String, posLat As Integer, posLong As Integer

3. Wir müssen die Variable myFile mit dem vollständigen Pfad und dem Dateinamen initialisieren.

myFile = "C:\test\geographical-coordinates.txt"

oder

Verwenden Sie die GetOpenFilename-Methode des Application-Objekts, um das Standarddialogfeld Öffnen anzuzeigen und die Datei auszuwählen (ohne die Datei tatsächlich zu öffnen).

myFile = Application.GetOpenFilename()

Hinweis: Der leere Teil zwischen den Klammern bedeutet, dass wir Excel VBA nichts als Eingabe geben. Platzieren Sie Ihren Cursor im Visual Basic-Editor auf GetOpenFilename, und klicken Sie auf F1, um Hilfe zu den Argumenten zu erhalten.

4. Fügen Sie die folgende Codezeile hinzu:

Öffnen Sie myFile für die Eingabe als # 1

Hinweis: Diese Anweisung ermöglicht das Lesen der Datei. Wir können im Rest unseres Codes auf die Datei als #1 verweisen.

5. Fügen Sie die folgenden Codezeilen hinzu:

Bis EOF erledigen(1)
Zeileneingabe #1, Textzeile
Text = Text & Textzeile
Schleife

Hinweis: Bis zum Ende der Datei (EOF) liest Excel VBA eine einzelne Zeile aus der Datei und weist sie Textzeile zu. Wir verwenden den &-Operator, um alle einzelnen Zeilen zu verketten (zusammenzufügen) und im variablen Text zu speichern.

6. Schließen Sie die Datei.

Schließen #1

7. Als nächstes suchen wir nach der Position der Wörter Breitengrad und Längengrad im variablen Text. Wir verwenden die Instr-Funktion.

posLat = InStr(text, "Breitengrad")
posLong = InStr(text, "Längengrad")

8. Wir verwenden diese Positionen und die Mid-Funktion, um die Koordinaten aus dem variablen Text zu extrahieren und die Koordinaten in Zelle A1 und Zelle A2 zu schreiben.

Range("A1").Value = Mid(Text, posLat + 10, 5)
Range("A2").Value = Mid(text, posLong + 11, 5)

9. Testen Sie das Programm.

Ergebnis:

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave