Anzeige
Archiv - Navigation
620to624
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
620to624
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenimport txt / csv Datei mit mehr als 65536 Zei

Datenimport txt / csv Datei mit mehr als 65536 Zei
06.06.2005 13:13:35
Knott
Hallo,
habe folgendes Problem:
habe ien csv Datei die ich zeilenweise importieren möchte. Hierzu habe ich auch Skripte gefunden. Leider schreiben diese Skripte die Daten immer Zellenweise untereinander. Meine Daten sind zeilenweise mit einem Komma getrennt. Die erste Information aus Zeile 1 müsste in Zelle A1, die zweite Information aus Zeile 1 in Zelle B1 usw. bis das Ende der Zeile erreicht ist. Dann müsste Zeile zwei gelesen werden und hier wieder die 1. Information in Zelle A2, die zweite in B2 usw.
Das Skript das ich verwende ist von Josef Ehrensberger im Paket Zum Paket 560to564.
Vielen Dank für Eure Hilfe.
Gruß
Frank

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenimport txt / csv Datei mit mehr als 65536 Zei
06.06.2005 13:28:26
Sylvio
Ich hab das wenn ich dich richtig verstehe so gelöst
ich lese als stext einen zellenwert als string ein z.B. Cells(1,1)
stext= Cells(1.1).value
danach sage ich
schnitzel:
i=2
Do until cells(i,a)=""
stext = stext & Chr(9) & Cells(i, a).value
i=i+1
loop
a=a+1
if a=10 then 'Abbruchbedingung
else
goto schnitzel
end if
i läuft sozusagen spaltenweise bis die nächste zelle leer ist und a läuft bis zur 10 spalte nach unten
und schreibt das in den stext.
Dies als eine zeile in ne txt-datei.
nun musst du nur beim auslesen der txt-datei den string wieder in der selben reihenfolge immmer bis zum tabstop (Chr(9)) auslesen und einer zelle zuordnen.
ich hoffe das nützt dir was
gruß sylvio
Anzeige
AW: Datenimport txt / csv Datei mit mehr als 65536 Zei
06.06.2005 14:33:14
Knott
Hallo Sylvio,
hier ist das Skript was ich benutzen möchte:
https://www.herber.de/bbs/user/23663.txt
Was muss wo geändert werden?
So ganz habe ich deine info nicht verstanden.
Gruß
Frank
AW: Datenimport txt / csv Datei mit mehr als 65536 Zei
07.06.2005 07:33:33
Sylvio
Hallo Knott,
ich nehm mal an du hattest das in die Richtung gemeint.

Sub Multi_Text_Import()
'by Josef Ehrensberger
Dim n As Integer
Dim strTemp As String
Dim lRow As Long, i As Long
Dim wks As Worksheet
lRow = 1 'Startzeile in der Tabelle
Set wks = ActiveSheet
With Application.FileSearch
.LookIn = "D:\Office\Excel\Text" 'Pfad zu deinen Textdateien
.FileType = msoFileTypeAllFiles
.Filename = "*.txt"
.SearchSubFolders = False
'(True) wenn auch Unterordner durchsucht werden sollen
.Execute
For n = 1 To .FoundFiles.Count
'Import Textfile
Open .FoundFiles(n) For Input As #1
Do While Not EOF(1)
Input #1, strTemp
Hier musst du einsetzen: strTemp ist deine ganze Zeile in der TXT-datei
sieht zu Beispiel so aus Zeile1:  hallo,weiter,Name, etc.
diesen string musst du jetzt durchlaufen und nach deinem Kriterium durch suchen
ala:
wert =strTemp
Do While InStr(Wert, ",") <> 0
Wert = Left(Wert, Len(Wert) - InStr(Wert, ","))
wks.Cells(lRow,a) = Wert
a=a+1
loop
versuch das mal in deinen Txt einzubauen
anstelle von:           wks.Cells(lRow, 1) = strTemp
ich hab das jetzt nicht durchtesten können aber so oder ähnlich müsste es aussehen.
lRow = lRow + 1
Application.StatusBar = lRow
If lRow = 65536 Then
i = i + lRow - 1
wks.Name = i
wks.Columns("A:A").TextToColumns Destination:=wks.Range("A1"),
_
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, F
ieldInfo _
:=Array(Array(1, 1))
wks.Columns.AutoFit
Set wks = Sheets.Add(after:=wks)
lRow = 1
End If
Loop
Close #1
Next
End With
i = i + lRow - 1
wks.Name = i
wks.Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDeli
mited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1))
wks.Columns.AutoFit
Application.StatusBar = False
End 

Sub
Gruß Sylvio

Anzeige
AW: Datenimport txt / csv Datei mit mehr als 65536 Zei
07.06.2005 20:13:36
Knott
Hallo Sylvio,
leider klappt es so nicht. strTemp liest die werte schon richtig ein. Leider nicht wie due schreibst jede Zeile vollständig sondern immer Wert für Wert. Ich weiss aber nicht wie ich diese Werte dann in die einzelnen Zellen bringen soll und dass dann am Ende einer Zeile eine neue Zeile im Excel genommen wird.
Gruß
Frank

76 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige