von Stephan » Di, 20.07.2004 13:34
Wenn das ganze in Spalte H stattfindet mußt Du statt:
zellenwert = mySheet.getCellByPosition(3, x).value
zellenwert = mySheet.getCellByPosition(7, x).value
verwenden.
Hinweis: ich gehe davon aus das der "aktuelle" Wert in H5 steht, in dem Sinne das wenn Du einen Weiteren ergänzt dieser dann in H6 stünde usw. . Natürlich müssen alle Zellen von H1 bis H5 irgendeinen Inhalt haben damit es funktioniert und ab H6 müssen alle leer sein.
Ich schreibe mal vorsichtshalber: vielleicht kannst Du mal probieren
loop While zellenwert <> EMPTY
durch:
loop While zellenwert <> "" oder
loop While zellenwert <> 0
zu ersetzen, ich weiß aber nicht warum das nötig sein sollte.
Und nun brauchst Du noch eine feste Zelle auf dem Blatt die Du dann referenzieren kannst, dafür mußt Du diese Zeile anpassen:
mySheet.getCellByPosition(4, 0).value = wert
so wie es hier steht wäre die Zelle E1 ändere das nach Bedarf (die entsprechende Zelle darf natürlich nicht schreibgeschützt sein).
Ich habe auch den kompletten Code geprüft, ich bekomme keinen Syntaxfehler.
@toxitom
Mit Sicherheit. Da der erste Schleifendurchgang einer Do ...while Schleife immer ausgeführt wird, wenn die Bedingung erst im While -Teil steht, bekommst du immer dann eine Fehlermeldung, wenn das Objekt (Zelle) die Eigenschaft nicht aufweist (in diesem Fall Value = ...eben nichts!)
das hatte ich auch vermutet, aber ein test ergibt das das
beim Lesen des Wertes nicht so ist:
zellenwert = mySheet.getCellByPosition(3, x).value
liefert tatsächlich numerischen Wert (das Ergebnis der vorhandenen Formel), wenn Formel in der Zelle ist. Formel wird dann logischerweise geliefert bei:
zellenwert = mySheet.getCellByPosition(3, x).formula
und zwar als "String" ...
(!?)
Gruß
Stephan
Wenn das ganze in Spalte H stattfindet mußt Du statt:
[color=green]zellenwert = mySheet.getCellByPosition(3, x).value [/color]
[color=green]zellenwert = mySheet.getCellByPosition(7, x).value [/color]
verwenden.
Hinweis: ich gehe davon aus das der "aktuelle" Wert in H5 steht, in dem Sinne das wenn Du einen Weiteren ergänzt dieser dann in H6 stünde usw. . Natürlich müssen alle Zellen von H1 bis H5 irgendeinen Inhalt haben damit es funktioniert und ab H6 müssen alle leer sein.
Ich schreibe mal vorsichtshalber: vielleicht kannst Du mal probieren
[color=green]loop While zellenwert <> EMPTY [/color]
durch:
[color=green]loop While zellenwert <> ""[/color] oder [color=green]loop While zellenwert <> 0 [/color]
zu ersetzen, ich weiß aber nicht warum das nötig sein sollte.
Und nun brauchst Du noch eine feste Zelle auf dem Blatt die Du dann referenzieren kannst, dafür mußt Du diese Zeile anpassen:
[color=green]mySheet.getCellByPosition(4, 0).value = wert[/color]
so wie es hier steht wäre die Zelle E1 ändere das nach Bedarf (die entsprechende Zelle darf natürlich nicht schreibgeschützt sein).
Ich habe auch den kompletten Code geprüft, ich bekomme keinen Syntaxfehler.
[b]@toxitom[/b]
[quote]Mit Sicherheit. Da der erste Schleifendurchgang einer Do ...while Schleife immer ausgeführt wird, wenn die Bedingung erst im While -Teil steht, bekommst du immer dann eine Fehlermeldung, wenn das Objekt (Zelle) die Eigenschaft nicht aufweist (in diesem Fall Value = ...eben nichts!) [/quote]
[b]das hatte ich auch vermutet, aber [/b]ein test ergibt das das [b]beim Lesen[/b] des Wertes nicht so ist:
[color=green]zellenwert = mySheet.getCellByPosition(3, x).value [/color]
liefert tatsächlich numerischen Wert (das Ergebnis der vorhandenen Formel), wenn Formel in der Zelle ist. Formel wird dann logischerweise geliefert bei:
[color=green]zellenwert = mySheet.getCellByPosition(3, x).formula [/color]
und zwar als "String" ...
(!?)
Gruß
Stephan