Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Makro funktioniert nicht richtig

    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
      


    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


      


    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?


      


    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