Ich hab da mal wieder eine Frage

In meinem alten VBA Programm habe ich eine rückwärts laufende Schleife, in der der Wert er jeweils durchlaufenen Spalte/Zelle mit dem Wert einer Variablen verglichen wird und wenn Wert = Zellwert dann werden Werte zugewiesen, die später für die Verarbeitung benötigt werden:
Feste Variablen:
SP_Gesamtpunkte_Ausdauer = "X"
SP_Gesamtpunkte_Ausdauer_Zahl=24
Das Ganze sieht in VBA wie folgt aus:
Code: Alles auswählen
Ausdauer_Punkte = Sheets("Ergebnisse").Cells(Eingabezeile, SP_Gesamtpunkte_Ausdauer)
For Spalte = (SP_Gesamtpunkte_Ausdauer - 1) To 9 Step -1 ' In VBA wird die Spalte über die Nummer angesprochen
If Sheets("Ergebnisse").Cells(Eingabezeile, Spalte) = Ausdauer_Punkte Then
Ausdauer_Disziplin = Sheets("Ergebnisse").Cells(3, Spalte - 1)
Ausdauer_Ergebnis = Sheets("Ergebnisse").Cells(Eingabezeile, Spalte - 1)
Ausdauer = 1
Exit For
End If
Next Spalte
Jetzt versuche ich das mal in Starbasic umzusetzen:
Code: Alles auswählen
Ausdauer_Punkte = oSheet.getCellRangebyName(SP_Gesamtpunkte_Ausdauer & Eingabezeile).value
Startspalte = osheet.getcolumns().getbyname(SP_Gesamtpunkte_Ausdauer_Zahl) ' Ist das die Spaltennummer?
For Spalte = (Startspalte - 1) To 9 Step - 1 ' Rückwärtsschleife zum Vergleichen - das ist die Problemzeile
if oSheet.getCellRangebyName(Spalte & Eingabezeile).value = Ausdauer_Punkte then ' Wert gefunden?
Ausdauer_Disziplin = oSheet.getCellRangebyName(Spalte & "3") ' Disziplin aus Kopfzeile der gefundenen Spalte
Ausdauer_Ergebnis = oSheet.getCellRangebyName(Spalte & Eingabezeile).value ' Ergebnis aus Zelle dieser Spalte
Ausdauer = 1 ' 1 = Wert gefunden
Exit For ' Schleife verlassen
End If
Next Spalte
Mein Problem ist die Schleife. In VBA lasse ich das einfach über die Spaltennummer rückwärts laufen. Wie kann ich denn in Starbasic dies Spaltennummer ermitteln?
Mein Versuch in Zeile 2 mit "Startspalte = osheet..." bricht mit der Fehlermeldung "BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.container.NoSuchElementException
Message: ./sc/source/ui/unoobj/docuno.cxx:4055."
Wo mache ich denn hier den Fehler oder kann man dieses Problem in Starbasic vielleicht auch anders lösen?!
Danke und Gruß,
Mike