Anzeige
Archiv - Navigation
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
txt datei einlesen
24.06.2005 20:53:54
Frank
Hallo,
ich habe eine txt datei in folgendem format:
23.45,46.51
24.53,47.64
usw.
die Aufgabe ist, diese Werte einzulesen und anhand einer vorherigen Abfrage nur die 2, 3 oder 4te Zeile in eine Arbeitsmappe zu schreiben.
Mein Code sieht bisher folgendermaßen aus:
Dim Datei, Zeilen As String
Dim n, z As Integer
Dim x, y As Single
Datei = "C:\Temp\Messwerte.txt"
n = FreeFile
Open Datei For Input As #n
z = 0
While Not EOF(n)
Input #n, x, y
z = z + 1
Cells(2 + z, 2) = x
Cells(2 + z, 3) = y
Wend
Close #z
Wie kann ich das machen?
Als VBA Anfänger komme ich da nicht weiter.
Frank

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: txt datei einlesen
24.06.2005 23:59:47
MichaV
Hallo
für Deinen speziellen Fall könnte der Code so aussehen:

Option Explicit
Private Sub CommandButton1_Click()
Dim z As Integer
Dim zz As Integer
Dim f As Integer
Dim t As String
z = Application.InputBox("Welche Zeile einlesen?", "1,2,3 oder 4", "1", , , , , 1)
If z = 0 Then Exit Sub
zz = 0
f = FreeFile
Open "C:\Temp\Messwerte.txt" For Input As #f
While Not EOF(f) And Not zz = z
zz = zz + 1
Line Input #f, t
Wend
Close f
If Not zz = z Then MsgBox "Datei zu kurz": Exit Sub
Cells(2 + z, 2) = Left(t, InStr(t, ",") - 1)
Cells(3 + z, 2) = Right(t, Len(t) - InStr(t, ","))
End Sub

Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: txt datei einlesen
25.06.2005 10:22:12
Frank
Hallo Micha,
schon mal vielen Dank für deine Hilfe. Ich habe allerdings die Aufgabestellung nicht korrekt beschrieben.
Ich soll aus der genannten Datei wahlweise 0,1,2, 3, oder 4 Zeilen auslassen.
So sollte es für das Auslassen von 2 Zeilen ablaufen:
Zeile in Datei Zeile in Excel
1 nach Excel 1
2 auslassen
3 auslassen
4 nach Excel 2
5 auslassen
6 auslassen
7 nach Excel 3
Gruss Frank
Anzeige
AW: txt datei einlesen
25.06.2005 21:23:04
MichaV
Hallo Frank,
dann so:

Option Explicit
Private Sub CommandButton1_Click()
Dim vEingabe
Dim iAuslassen As Integer
Dim iZeile As Integer
Dim iDat As Integer
Dim i As Integer
Dim sDatei As String
Dim sZeilen() As String
vEingabe = Application.InputBox("Wieviel Zeilen auslassen?", "0,1,2,3 oder 4", "1", , , , , 1)
If VarType(vEingabe) = vbBoolean Then Exit Sub 'Abbrechen
iAuslassen = CInt(vEingabe)
'If iAuslassen > 4 Then Exit Sub
iZeile = 1
iDat = FreeFile
Open "d:\micha\excel\daten.txt" For Binary As #iDat
sDatei = Space(LOF(iDat))
Get #iDat, , sDatei
Close iDat
sZeilen = Split(sDatei, vbCrLf)
For i = 0 To UBound(sZeilen)
If i Mod (iAuslassen + 1) = 0 Then
Cells(iZeile, 1) = Left(sZeilen(i), InStr(sZeilen(i), ",") - 1)
Cells(iZeile, 2) = Right(sZeilen(i), Len(sZeilen(i)) - InStr(sZeilen(i), ","))
iZeile = iZeile + 1
End If
Next i
End Sub

Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige