none
Leere Zeilen in csv File finden

    Frage

  • Hallo Zusammen,

    gibt es eine Möglichkeit mit VBA leere Zeilen innerhalb eines csv Files zu finden?

    Ich muss viele gleichartige CSV Files importieren (BULK INSERT), die jeweils dreigeteilt sind:

    Zeile 1: 34 Spalten

    Zeile 2: leer

    Zeile 3 - x : 22 Spalten

    Zeile x+1:  Leerzeile

    Zeile x+1 bis x+y: = 7 Spalten

    Mich interessieren die Spalten 3 bis x

    Ich will nun vor dem Import herausfinden, welche Spaltennummer die zweite leere Zeile hat. Dann kann ich BULK IMPORT sagen, dass die Zeile 3-x importiert werden müssen. Aber wie kann ich das rausfinden?

    Vielen Dank für die Hilfe

    Patrick

    Samstag, 7. Februar 2015 11:53

Antworten

  • Hallo Patrick,

    wenn klar ist, dass immer erst ab Zeile 3 angefangen werden soll, kannst Du den Dateiinhalt auslesen und bspw. einfach mit:

    <Startpunkt> = Instr( 0, <DateiInhalt>, vbCrLf & vbCrLf, vbTextCompare )
    <Endpunkt>   = Instr( Startpunkt, <DateiInhalt>, vbCrLf & vbCrLf, vbTextCompare )

    suchen. Siehe dazu auch:

    http://www.exceltrick.com/formulas_macros/vba-instr-function/

    Das erste Ergebnis ist der Startpunkt, das zweite Ergebnis entsprechend der Endpunkt. vbCrLf setzt voraus, dass CrLf (0D 0A) als Zeilenumbruchzeichen verwendet wurde. Ggfs. musst Du vbCr oder auch vbLf (letzteres wäre aber ungewöhnlich) nehmen.

    Den String dazwischen kannst Du über:

    Mid( <Dateiinhalt>, <Startpunkt>, <Endpunkt> - <Startpunkt )

    ermitteln.



    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Samstag, 7. Februar 2015 12:03