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


  • 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