von Toxitom » Di, 06.12.2005 18:27
Hey freak,
Das ist schon alles richtig, nur: in der Zelle steht ausschließlich "01.06.04 05:26", das in der Eingabezeile dargestelt Hochkomma ist nicht Teil des Inhaltes (zeigt dir nur an, dass es sich um "Text" handelt.
Also musst du dieses Zeichen natürlich weglassen.
Nur - was willst du erreichen? Alle Zeilen löschen, deren String in einer Zelle mit "01.06" beginnt?
Also, das kannst du nicht mit Platzhaltern erledigen, sondern mit Teilstrings:
Bsp:
hier werden die ersten 5 Zeichen des Inhaltes verglichen.
Aber:
Auch sonst ist dein Code falsch. Die Schleifenbedingung mit löschen der Reihen funktioniert natürlich nicht.
Wenn du die Schleife von 1-10 (zeilen) durchlaufen lässt, und der Zähler bei 2 steht, diese Zeile das Kriterium erfüllt und gelöscht wird, so rutschen alle übrigenZeilen eine Zeile hoch, die bisherige Zeile Nr. 3 ist jetzt die Zeile Nummer 2, dein Zähler wird aber auf 3 erhöht - also wird die ursprüngliche Zeile 3 und jetztige Zeile 2 gar nicht mehr geprüft -> Logikfehler
Upps, sehe gerade, dass du den Zähler dann ja zurücksetzt. Na ja, das sollte dann ja doch funktionieren - ist aber kein sauberer Programmierstil.
Nutze lieber ein Do ...loop Schleife mit einer definierten Abbruchbedingung oder eine rückwärts laufende Schleife..
Gruss
Thomas
Hey freak,
Das ist schon alles richtig, nur: in der Zelle steht ausschließlich "01.06.04 05:26", das in der Eingabezeile dargestelt Hochkomma ist nicht Teil des Inhaltes (zeigt dir nur an, dass es sich um "Text" handelt.
Also musst du dieses Zeichen natürlich weglassen.
Nur - was willst du erreichen? Alle Zeilen löschen, deren String in einer Zelle mit "01.06" beginnt?
Also, das kannst du nicht mit Platzhaltern erledigen, sondern mit Teilstrings:
Bsp:
[code]if left(oZelle.string, 5) = "01.06" then [/code]
hier werden die ersten 5 Zeichen des Inhaltes verglichen.
Aber:
Auch sonst ist dein Code falsch. Die Schleifenbedingung mit löschen der Reihen funktioniert natürlich nicht.
Wenn du die Schleife von 1-10 (zeilen) durchlaufen lässt, und der Zähler bei 2 steht, diese Zeile das Kriterium erfüllt und gelöscht wird, so rutschen alle übrigenZeilen eine Zeile hoch, die bisherige Zeile Nr. 3 ist jetzt die Zeile Nummer 2, dein Zähler wird aber auf 3 erhöht - also wird die ursprüngliche Zeile 3 und jetztige Zeile 2 gar nicht mehr geprüft -> Logikfehler :!:
Upps, sehe gerade, dass du den Zähler dann ja zurücksetzt. Na ja, das sollte dann ja doch funktionieren - ist aber kein sauberer Programmierstil.
Nutze lieber ein Do ...loop Schleife mit einer definierten Abbruchbedingung oder eine rückwärts laufende Schleife..
Gruss
Thomas