Makro funktioniert nicht richtig

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Makro funktioniert nicht richtig
von: Marco
Geschrieben am: 30.09.2003 10:12:34

Hi Leute,

mein Makro, welches mir eine csv-Datei importieren soll funktioniert nicht richtig. Könnt ihr mir helfen?
In der MessageBox wird zwar die Datei angezeigt, aber später nicht eingefügt.

Hier das Makro:



Sub import()
'
' import Makro
Range("B10").Select
Dim fileToOpen As String
fileToOpen = Application _
.GetOpenFilename("Text Files (*.csv), *.csv")
MsgBox "Open " & fileToOpen
With ActiveSheet.QueryTables.Add(Connection:="TEXT;fileToOpen", _
Destination:=Range("B10"))
.Name = fileToOpen
    
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub


Danke
Marco
Bild


Betrifft: AW: Makro funktioniert nicht richtig
von: geri
Geschrieben am: 30.09.2003 11:30:59

Hallo Marco

neuer Versuch


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
       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


aus Archiv

gruss geri


Bild


Betrifft: AW: Makro funktioniert nicht richtig...aber...
von: Marco
Geschrieben am: 30.09.2003 12:48:39

Danke geri, aber ich brauche unbedingt die Formatierung des Textes wie beschrieben. Er ließt mir die Variable aus aber fügt dann die Datei nicht ein. Kannst du dir vorstellen woran das liegt?


Bild


Betrifft: AW: Makro funktioniert nicht richtig...aber...
von: geri
Geschrieben am: 02.10.2003 18:41:27

Hallo Marco

Hallo Marco

so geht es aber denke ich



Sub test()
Dim textdatei As Variant
textdatei = Application.GetOpenFilename("Text Files (*.txt), *.txt")
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & textdatei, _
    Destination:=Range("A1"))
    'MsgBox "Open " & textdatei
        .Name = textdatei
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub



gruss geri


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Mitarbeiteranzahl berechnen"