Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.06.2025 13:53:13
23.06.2025 10:14:14
22.06.2025 14:45:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

txt. import

Forumthread: txt. import

txt. import
02.10.2003 14:47:02
Heiko F.
Hallo Excelfreunde ,
habe folgendes Modul in der recherche gefunden


Sub TextImport()
Dim iRow As Integer, iCol As Integer
Dim sFile As String, sTxt As String
sFile = Range("P1").Value
If Dir(sFile) = "" Then
Beep
MsgBox "Datei wurde nicht gefunden!"
Exit Sub
End If
iRow = 1
iCol = 1
Close
Open sFile For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
Do While InStr(sTxt, ";")
Cells(iRow, iCol).Value = Left(sTxt, InStr(sTxt, ";") - 1)
sTxt = Right(sTxt, Len(sTxt) - InStr(sTxt, ";"))
iCol = iCol + 1
Loop
Cells(iRow, iCol).Value = sTxt
iRow = iRow + 1
iCol = 1
Loop
Close
End Sub



es funkt. super , aber leider brauche ich nicht die ganze txt-DAtei , sonden nur
die Spalte c7 bis c2886 .
Diese muß in der xls-Datei in F9-F2888 kopiert werden.

Wer kann mir helfen , wie kann man das Modul ändern ?

Vielen Dank schonmal.

Heiko
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: txt. import
02.10.2003 15:02:59
Hans W. Herber
Hallo Heiko,

folgender Code (nur lauffähig ab XL2000):


Sub TextImport()
Dim arr As Variant
Dim iRow As Integer, iCounter As Integer
Dim sFile As String, sTxt As String
sFile = Range("P1").Value
If Dir(sFile) = "" Then
Beep
MsgBox "Datei wurde nicht gefunden!"
Exit Sub
End If
iRow = 9
Close
Open sFile For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
iCounter = iCounter + 1
If iCounter > 6 And iCounter <= 2889 Then
arr = Split(sTxt, ";")
Cells(iRow, 9).Value = arr(2)
iRow = iRow + 1
End If
Loop
Close
End Sub


gruss hans
Anzeige
AW: txt. import
02.10.2003 15:21:33
Reinhard
Hallo Heiko,
habs nicht gtestet müßte aber so laufen
Gruß
Reinhard

Open sFile For Input As #1
icol = 6 'F-Spalte
irow = 9
For n = 1 To 6 'ersten 6 Zeilen überlesen
Line Input #1, sTxt
Next n
Do Until EOF(1) Or irow > 2888
Line Input #1, sTxt
sText = sText & ";" 'damit hinter C ein ; steht falls c letzter wert in Zeile
sTxt = Right(sTxt, Len(sTxt) - InStr(sTxt, ";")) ' A weg
sTxt = Right(sTxt, Len(sTxt) - InStr(sTxt, ";")) ' B weg
Cells(irow, icol).Value = Left(sTxt, InStr(sTxt, ";") - 1) 'C in F schreiben
irow = irow + 1
Loop

Anzeige
Vielen Dank Euch beiden !
02.10.2003 15:31:59
Heiko F.
o.T.

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