wichtiger datenimport

Bild

Betrifft: wichtiger datenimport
von: felix
Geschrieben am: 25.09.2003 19:30:48

ich will einen vordefinierten bereich aus einem .txt file importieren. ist es moeglich fuer folgenden VBA befehl auch sowas wie "endrow" einzugeben.

Ausdruck.OpenText(FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local)

bisher ist mein code folgendermassen...


Sub einlesen()
Workbooks.OpenText Filename:="C:\Eigenes\Dissertation\Data\WienerBoerse\atx_bid_ask_vol_2003.TXT",_
    StartRow:=50000, _
    DataType:=xlDelimited, Tab:=True
       
End Sub


... ich wuerde gerne bis zeile 100000 importieren

danke fuer eure hilfe
felix
Bild


Betrifft: AW: wichtiger datenimport
von: Ramses
Geschrieben am: 25.09.2003 20:33:02

Hallo

probier mal das


Option Explicit

Sub Read_Extern_File()
'Hilfsvariable für Anzahl Datensätze
Dim Text1 As String
'Variablen für den Array nötig
Dim TxtLines As Long, i As Long
Dim TextArr As Variant
Dim ReadFile As String
'Dialog öffnen auf Basis von *.txt, *.log oder *.dat Files
ReadFile = Application.GetOpenFilename("DAT Files (*.txt; *.log; *.dat),")
'Schliessen einer geöffneten Datei
Close #1
'1. Öffnen der Datei
'Den Namen und Pfad bitte anpassen
Open ReadFile For Input As #1
'Die anzahl ist nötig um die Grösse des Arrays zu deklarieren
'Zähler auf 0 setzen
TxtLines = 0
Do While Not EOF(1) ' Schleife bis Dateiende.
     Input #1, Text1 ' Hilfsvariable zum einlesen verwenden
'         Zähler hochzählen
         TxtLines = TxtLines + 1
Loop
'Schliessen der Datei weil Dateiende erreicht wurde
Close #1
'Erneutes Öffnen um zum Dateianfang zu kommen
Open ReadFile For Input As #1 ' Datei zum Einlesen öffnen.
'Array neu auf die Anzahl der Linien initialisieren
ReDim TextArr(TxtLines)
'Einlesen der Dateien in das Array
For i = 1 To TxtLines
       Line Input #1, TextArr(i)
Next i
Close #1
'Daten in aktuelles Sheet schreiben
For i = 1 To TxtLines
        Cells(i, 1) = TextArr(i)
Next i
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16




Wenn die Daten importiert sind, startest du den Makrorekorder, markierst die Spalte A und führst den Befehl "Daten - Text in Spalten" aus.
Das aufgezeichnete Makro kannst du dann noch unten anhängen und fertig

Gruss Rainer


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Steuerung von fremden programmen und wartezeit"