Problem mit _Excel_RangeDelete()

  • MoinMoin...

    ich hab ein Problem mit _Excel_RangeDelete(). Naja das eigentliche Problem liegt daran, dass beim Einfügen durch ein Array immer als letzter Eintrag #NV geschrieben wird.
    Nun versuche ich diesen Eintrag wieder zu löschen mittels _Excel_RangeDelete($sExcelDatei, _Excel_RangeFind($sExcelDatei, "#NV")). Leider ohne Ergebnis.
    Ich bekomme immer '0' zurück geliefert.

    Kennt ihr ne Möglichkeit #NV schnell zu löschen?

    Das Programm hab ich mal in einen Spoiler angehängt. (Soll mal ne Arbeitserleichterung für unsere Azubis werden)

    Danke und Gruß

    Ice-Tee

    Spoiler anzeigen



  • Vermutlich ist der Zielrange für _Excel_RangeWrite größer als das übergebene Array.
    Lass Dir mal mit _ArrayDisplay und Consolewrite die entsprechenden Werte von $aPruefen und $sExcelblock ausgeben.

    BTW: Anstatt die Zeilen der Tabelle einzeln zu löschen, würde ich das Array mit ReDim auf die gewünschte Größe zurücksetzten.

    AutoIt
    For $i = 0 To $s ;Jeder Eintrag das Array un der Vorherigenschleife wird gelöscht
        _ArrayDelete($aPruefen, $i + 1)
    Next
  • Hi water,

    thx für dein Tipp. Hab es nun dadurch gelöst, dass ich das Blockende um eins gekürzt habe:

    $iZeilenende = $iZeilenanfang + $s - 1

    :) lustig ... und ich hab immer noch nicht verstanden warum. Aber es geht.

    Thx
    Ice-Tee

  • Hi water,

    thx für dein Tipp. Hab es nun dadurch gelöst, dass ich das Blockende um eins gekürzt habe:

    $iZeilenende = $iZeilenanfang + $s - 1

    :) lustig ... und ich hab immer noch nicht verstanden warum. Aber es geht.

    Thx
    Ice-Tee