Excel _Excel_RangeRead eine Zeile zu viel

  • Hallo zusammen,

    ich habe eine Frage zu _Excel_RangeRead.

    Ich exportiere Daten nach Excel, bearbeite sie und importiere wieder zurück, um die Daten anschließen in einer Textdatei zu ersetzen.

    Beim Import aus Excel ist am Ende immer eine leere Zeile drin, welche stört, da der Array mit Semikolon zu Text gewandelt wird.

    Die Leere Zeile auch drin, wenn ich einfach Export und gleich wieder import drücke, ohne die Exceldatei bearbeitet zu haben.

    Weiß jemand warum?


    VG

    horphi

  • Hallo horphi

    Bei _Excel_RangeRead liegt wohl kein Problem vor. Wenn im Excel Blatt $aWorkBooks[0][1] unten noch eine Spalte als benutzt gilt, dann wird sie mitgelesen. Das kann schon passieren, wenn dort mal etwas drin stand. Ich glaube, das kannst du sehen, wenn du eine beschriebene Zelle markierst und Strg+a drückst, um alles zu markieren. Siehst du da eine Zeile zu viel?

    Sonst habe ich keine Ahnung. Du kannst einfach vor der Umwandlung in den String das letzte Element löschen_ArrayDelete($aExtract, UBound($aExtract) - 1) oder nachher die Semikolons aus dem String schmeißen. So schlimm ist das doch nicht.

    Grüße autoiter

  • Wenn Parameter $vRange auf Default gesetzt wird, dann liest die Funktion den UsedRange. Das sind alle Zellen, die Daten beinhalten oder jemals Daten beinhaltet haben.
    Möglichkeiten um die letzte belegte Zelle zu finden, sind hier beschrieben: https://www.ozgrid.com/VBA/ExcelRanges.htm

  • Danke euch beiden.

    Das werde ich Montag genauer untersuchen. Im Prinzip habe ich mir schon gedacht, das die letzte Zeile benutzt sein muss.

    Ich dachte nur, dass ich eventuell bei dem setzen der Parameter was übersehen habe.

    VG

    horphi