Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
284to288
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
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

textdatei öffnen

textdatei öffnen
29.07.2003 12:55:32
Jens
Hallo,
ich habe noch immer folgendes Problem, vielleicht habe ich mich auch nicht richtig ausgedrückt:
Beim öffnen einer Textdatei wird die Datei im Excel unvollständig geladen, wohl da sie zu viele Spalten (etwa 500) hat.
Wenn ich beim Öffnen der Datei von Hand nur die ersten 15 Spalten importiere, ist die Datei vollständig.
Mir reichen auch diese ersten 15 Spalten zu, da dort die wichtigen Daten stehen.
Diese Prozedur habe ich mit dem Makrorecorder aufgezeichnet, das Makro läuft allerdings nicht.
Bei der Aufzeichnung des Makros kommt es zur Fehlermeldung "Zu viele Zeilenfortsetzungen", im Anschluß die Meldung "Datei wurde nicht vollständig geladen".
In Excel erscheint nur die erste Zeile der Daten
Wie kann ich das in VBA programmieren?
im voraus besten Dank!
Jens

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: textdatei öffnen
29.07.2003 12:59:03
Mike E.
Hallo Jens,
wieviele Zeilen hat den die zu importierende Textdatei?
Viele Grüße
Mike

AW: textdatei öffnen
29.07.2003 13:01:49
Jens
Hallo Mike,
die Anzahl Zeilen ist Variabel, wobei ich mit 150 und 90 Zeilen getestet habe,jedesmal mit dem selben Effekt.

AW: textdatei öffnen
29.07.2003 13:26:44
Mike E.
Hallo Jens,
wenn es sich nicht um allzu diskrete Daten handelt, dann kannst du mir die Datei ja mal zuschicken, sodass ich es mal testen kann...
Mail:
eff04@Premiere.de
Ansonsten habe ich keine Lösung.
Gruß
Mike

AW: textdatei öffnen
29.07.2003 13:28:25
Michael Scheffler
Hi,
mit "Open" die Datei für "Input" öffnen. Schleife mit "While Not EOF", "Line Input".
Dann mit "Split" den String splitten und die ersten 15 Elemente des Arrays in eine Excel-Tabelle schreiben.
Gruß
Micha

Anzeige
AW: textdatei öffnen
29.07.2003 13:47:45
Mike E.
Hallo Jens,
wie besprochen (du musst den Pfad und den Dateinamen noch anpassen, ggf. auch die Trennzeichen - in diesem fall sind es Kommata und Semikolons(?)):

Sub Test1Öffnen()
Workbooks.OpenText FileName:="H:\TEST1.txt", Origin:=xlWindows, StartRow _
:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, Comma:=True, _
Space:=False, Other:=False, FieldInfo:=Array(1, 1)
Range("E16").Select
ActiveWindow.ScrollColumn = 2
End Sub

Gruß
Mike

AW: textdatei öffnen
29.07.2003 14:13:20
Jens
Hallo Mike,
leider klappt es nicht, es wird nur die erste Zeile importiert, alle anderen fehlen.
Allerdings gibt es keine Fehlermeldungen mehr!
mfg
Jens

Anzeige
AW: textdatei öffnen
29.07.2003 14:27:26
Mike E.
Hallo Jens,
ei mir wird alles importiert.
Hast du bereits Michaels Vorschlag getestet?
Viele Grüße
Mike

AW: textdatei öffnen
29.07.2003 14:29:27
Jens
Mit Michaels Vorschlag komme ich nicht klar, da sind meine VBA- Kenntnisse doch zu gering.
Jens

@Micahele Schefller: textdatei öffnen
29.07.2003 14:37:51
Mike E.
Hi Michi,
vielleicht kannst du ja kurz ein Beispiel für Jens posten.
Viele Grüße
Mike

AW: @Micahele Schefller: textdatei öffnen
29.07.2003 15:28:27
Michael Scheffler
Hi,
so ähnlich wie hier:

Sub LiesDat()
' 

Sub zum Lesen der Messwertdateien
' Michael Scheffler 2002
Dim cExcelFile As clsExcelFile                         ' Excel-Klasse
Dim cString As clsString
Dim varFileToOpen As Variant                           ' Name der Datei
Dim strZeile As String, strZeileArr() As String        ' Datenstring
Dim intFree As Integer, intFile As Integer              ' Nr. der offenen Datei, Excelfile
Dim lngNr As Long
Dim bytWort As Byte, lngDifBetween As Long
Dim lngDif As Long, strDif As String
' Klasseninstanzen definieren
Set cExcelFile = New clsExcelFile
Set cString = New clsString
' Eingabedatei
varFileToOpen = Application _
.GetOpenFilename("Data Files (*.dat), *.dat")      ' Öffnen Dialog
If varFileToOpen <> False Then
MsgBox "Open " & varFileToOpen, vbInformation
Else                                                   ' Wenn nix, dann raus
MsgBox "It's a pity!", vbExclamation
Exit Sub
End If
' Wieviel Zeilen dazwischen abfragen
strDif = "False"
While Not IsNumeric(strDif)
strDif = InputBox("Number of lines to read ", "Lines", 1)
If strDif = "" Then Exit Sub
Wend
' Initialisierung
lngDifBetween = Val(strDif)
lngDif = 1
intFree = FreeFile                                     ' neue Datei-Nr.  bestimmen.
lngNr = 1
intFile = 1
' Fortschrittsanzeige
Load frmProgress
frmProgress.Caption = "Processing data of " & varFileToOpen & " please wait..."
frmProgress.Show
Open varFileToOpen For Input As #intFree               ' Datei öffnen
varFileToOpen = Replace(varFileToOpen, ".", "_")
Set cExcelFile = CreateExcel(varFileToOpen, intFile)                  ' 1. Temp. Excelfile öffnen
Do While Not EOF(intFree)                              ' Dateiende abfragen
DoEvents
On Error Resume Next
Line Input #intFree, strZeile                      ' Datenzeilen lesen.
strZeileArr = cString.SplitString(strZeile, vbTab)
If UBound(strZeileArr) > 0 Then
For bytWort = LBound(strZeileArr) To UBound(strZeileArr)
If IsNumeric(strZeileArr(bytWort)) Then
With cExcelFile
If lngDif = 1 Then
.WriteValue xlsNumber, xlsFont0, xlsRightAlign, xlsNormal, lngNr, bytWort + 1, Val(strZeileArr(bytWort)), 4
End If
If bytWort = UBound(strZeileArr) Then
If lngDif = 1 Then lngNr = lngNr + 1
lngDif = lngDif + 1
End If
End With
Else
With cExcelFile
.WriteValue xlsText, xlsFont0, xlsRightAlign, xlsNormal, lngNr, bytWort + 1, strZeileArr(bytWort), 3
If bytWort = UBound(strZeileArr) Then lngNr = lngNr + 1
End With
End If
Next bytWort
Else
With cExcelFile
.WriteValue xlsText, xlsFont0, xlsRightAlign, xlsNormal, lngNr, 1, strZeile, 3
lngNr = lngNr + 1
End With
End If
If lngDif = lngDifBetween Then lngDif = 1
If lngNr Mod 1000 = 0 Then ProgressBar lngNr / 65536
If lngNr = 65536 Then
lngNr = 1
cExcelFile.CloseFile
intFile = intFile + 1
Set cExcelFile = CreateExcel(varFileToOpen, intFile)
End If
Loop
On Error Resume Next
cExcelFile.CloseFile
Close #intFree                                               ' Datei schließen
Set cExcelFile = Nothing
Set cString = Nothing
Unload frmProgress
MsgBox "Fertsch!", vbInformation
End Sub

Gruß
Micha

Anzeige
AW: textdatei öffnen
30.07.2003 07:01:06
Jens
Hallo Mike,
habe den VBA- Code auf meinen Heimrechner getestet, dort läuft er!
Kann das ein Excelproblem sein?
Ich arbeite Zuhause mit Office XP.
Gruß Jens

AW: textdatei öffnen
30.07.2003 11:35:56
Mike E.
Hallo Jens,
das kann ich dir nicht sagen.
Bei mir lief er ja auch - und das sogar mit Office97...
Grüße
Mike

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige