Microsoft Excel

Herbers Excel/VBA-Archiv

Textfiledaten in Excel-Zellen einlesen

Betrifft: Textfiledaten in Excel-Zellen einlesen von: Helmut
Geschrieben am: 08.09.2004 11:17:32

Hallo liebe Forumleute,

ich würde nach einiger Zeit wieder mal eure Hilfe benötigen!

Ich habe eine Textdatei test.txt, in der sich folgende Zeilen befinden:
a = 34
b = 45
c = 66
d = 23

Wie bekomme ich nun die Werte 34, 45, 66 und 23 aus dem Textfile in ein Excel-Worksheet in gewisse untereinanderliegende Zellen hinein??
z.B.
34 in die Zelle B9,
45 in die Zelle B10,
66 in die Zelle B11 und
23 in die Zelle B12

Wenn es geht, dann sollte das über einen Button im Excel-Sheet funktionieren.
D.h. der Button wird gedrückt-Excel öffnet im Hintergrund das Textfile-liest die Werte aus und trägt sie ins Excel-Sheet ein-Das Textfile wird wieder geschlossen

Bitte, kann mir da jemand helfen?! Meine VBA- und Excelkenntnisse reichen hier leider überhaupt nicht mehr aus! (daher bitte mit genauer Scriptangabe)

Ich danke euch herzlich im Voraus! Würde mir sehr weiterhelfen!

Liebe Grüße,
Helmut

  


Betrifft: AW: Textfiledaten in Excel-Zellen einlesen von: Harald E
Geschrieben am: 08.09.2004 12:19:19

Hallo Helmut,

halb so wild.
Schonmal mit dem Makrorecorder gearbeitet ?

Zeichne dir die Schritte die Du haben möchtest auf.

Bzgl...im Hintergrund
application.screenupdating =false an den Anfang des Makro
application.screenupdating = true ans Ende

Wenn das noch ne Etage zu hoch ist, bitte noch die Info, wie die Zahlen in der Textdatei stehen.
a=20 mit oder ohne Leerzeichen..oder doch ganz anders ?

Gruß
Harald


  


Betrifft: AW: Textfiledaten in Excel-Zellen einlesen von: Nepumuk
Geschrieben am: 08.09.2004 13:01:06

Hallo Helmut,
so geht's:


Option Explicit

Public Sub einfuegen()
    Dim int_Free As Integer, lng_Zeile As Long, str_Text As String
    Application.ScreenUpdating = False
    lng_Zeile = 9
    Reset
    int_Free = FreeFile
    Open "D:\test.txt" For Input Access Read Lock Read As #int_Free 'Pfad zur Textdatei anpassen
    Do Until EOF(int_Free)
        Input #int_Free, str_Text
        Cells(lng_Zeile, 2) = CDbl(Mid(str_Text, 5))
        lng_Zeile = lng_Zeile + 1
    Loop
    Close #int_Free
    Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk


  


Betrifft: Fehlermeldung im Excel!! von: Helmut
Geschrieben am: 08.09.2004 13:57:44

Hallo Nepumuk,

danke für deine Hilfe, ich bekomme aber eine Fehlermeldung (Typen unverträglich) in der Zeile:

Cells(lng_Zeile, 2) = CDbl(Mid(str_Text, 5))

Woher weiß denn Excel wohin die Werte aus der Textdatei kommen?
Bedeutet
lng_Zeile = 9
weil ich den ersten Wert in Zelle Zeile 9 setze? Ich nehme an, dass die 2 in
Cells(lng_Zeile, 2)
wegen der Spalte B ist, in die ich die Werte setzen will, oder?
Was bedeutet aber die 5 in
CDbl(Mid(str_Text, 5) ??

Viele Fragen, aber will es auch verstehen! ;-))
Bekomme aber wie gesagt einen Fehler gemeldet! Kannst du mir nochmals helfen bitte!

LG
Helmut


  


Betrifft: AW: Fehlermeldung im Excel!! von: Nepumuk
Geschrieben am: 08.09.2004 14:04:35

Hallo Helmut,
deine Annahmen bezüglich Zeile und Spalte sind richtig. Die 5 in CDbl(Mid(str_Text, 5)) bedeutet, dass der Text aus der Textdatei ab der fünften Stelle verwendet werden soll. Wenn der Aufbau so ist, wie du beschrieben hast,

a = 21
b = 32 ...

dann funktioniert es auch.
Gruß
Nepumuk


  


Betrifft: AW: Fehlermeldung im Excel!! von: Helmut
Geschrieben am: 08.09.2004 16:12:56

Hallo Nepumuk,

danke dir recht herzlich!!
Es funktioniert!
Ich habe mich bei der Stelle geirrt, wo im Textfile die Zahl beginnt; war nicht die 5. Stelle, wie laut deinem Script angegeben.

Danke dir nochmals recht schön.

Liebe Grüße
Helmut


 

Beiträge aus den Excel-Beispielen zum Thema "Textfiledaten in Excel-Zellen einlesen"