Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
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
Inhaltsverzeichnis

Textdatei per VBA ohne leere Zeilen einlesen

Textdatei per VBA ohne leere Zeilen einlesen
06.03.2015 16:55:47
Tobias
Hallo :-)
Ich habe ein kleines Problem...und zwar speichere ich per Str+A
gewisse Daten aus dem Browser in einer Textdatei
und möchte diese dann in Excel einlesen, um den Input weiter zu verarbeiten
(per VBA über ein Modul).
Nun ist es so, dass verschiedene Browser
mal mehr und mal weniger Absätze mitkopieren...
zudem auch noch Leertasten/Tabs.
Um nun diese Dateien einheitlich in Excel einzulesen, muss ich zu
meinem vorhandenen Code irgendwie beim einlesen die leeren Zeilen
sowie Leertasten und Tabs, ja auch noch Punkte (.) entfernen.
Die Punkte habe ich schon wegbekommen, den Rest leider nicht.
Habe viel gegoogelt, leider bin ich nicht fündig geworden.
Mein bisheriger VBA Code lautet:
  • 
    Sub Planet_importieren()
    Application.ScreenUpdating = False
    Dim Datei As String, Text As String
    Dim Zeile As Long
    On Error GoTo Fehler
    'Quelldatei festlegen
    Datei = ThisWorkbook.Path & "\Import Planet.txt"
    Open Datei For Input As #1         ' Quelldatei öffnen.
    Zeile = 5
    Do While Not EOF(1)           ' Schleife bis Dateiende
    Line Input #1, Text      ' Text lesen
    ActiveSheet.Cells(Zeile, 21) = Replace(Text, ".", "")
    Zeile = Zeile + 1
    Loop
    Close #1   'Quelldatei schließen
    Application.CutCopyMode = False
    Exit Sub
    Fehler:
    Close #1
    MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
    & "Beschreibung: " & Err.Description _
    , vbCritical, "da ist leider ein Fehler aufgetreten"
    Application.ScreenUpdating = True
    End Sub
    

  • Beispiel:
    aaaaa
    [Tab]bbbbb
    ccccc
    ddddd
    eeeee
    fffff
    ggggg
    hh.hhh.hh
    iii
    j
    kkk
    aussehen sollte es dann so:
    aaaaa
    bbbbb
    ccccc
    ddddd
    eeeee
    fffff
    ggggg
    hhhhhhh
    iii
    j
    kkk
    Ich hoffe, dass ihr mir (und natürlich auch allen mit einem ähnlichen Problem)
    weiterhelfen könnt. Bis dahin, danke für die Aufmerksamkeit!
    Beste Grüße
    Tobias

    2
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Textdatei per VBA ohne leere Zeilen einlesen
    06.03.2015 17:13:50
    Daniel
    Hi
    bevor du den Text in die Zellen schreibst:
    
    Text = Replace(Text, ".", "") 'Punkte raus
    Text = Replace(Text, chr(9), "") 'Tabs raus
    Text = Trim(Text) 'Leerzeichen ohne weitern Text raus
    Text = Worksheetfunction.Clean(Text) 'alle nicht druckbaren Zeichen raus
    If Len(Text) > 0 Then
    ActiveSheet.Cells(Zeile, 21).Value = Text
    Zeile = Zeile + 1
    end If
    

    mit dem IF verhinderst du das schreiben von Leerzeilen
    kleiner Tip am Rande: verwende für Variabelen keine Namen, die auch von VBA für Formeln, Eigenschaften oder sonstwas verwendet werden.
    Sowas kann funktionieren, es kann aber auch zu Fehlern führen, und wenn die nur im eigenen Denken liegen.
    Gruß Daniel

    Anzeige
    AW: Textdatei per VBA ohne leere Zeilen einlesen
    07.03.2015 07:27:46
    Tobias
    Guten Morgen Daniel,
    hat super geklappt! Vielen Dank.
    So simpel...ich suchte dauernd nach einer wohl
    dann sehr komplexen Lösung!
    Danke für deinen Tipp, werde ich beherzigen.
    Schönes Wochenende.
    Beste Grüße,
    Tobias

    321 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige