mhh Danke, doch ich habs nun anders gelöst.
Das Problem warum ich mit KKLEINSTE() nur den Fehler #Wert! bekam habe ich gelöst. Doch so löste sich auch das Problem mit dem Makro..
Die Zeit wurde nämlich in ein Textfeld eingetragen und dieses wurde mit einer Zelle verknüpft. Erzeugte aber nicht wie gehofft einen Zahlenwert sondern einen String. Dies ist nicht gleich aufgefallen. Statt 1:34,123 bekam ich so den Wert '1:34,123.
Ich hab dann das Textfeld durch ein formatiertes ersetzt und konnte so nun auf einen richtigen Zahlenwert zurückgreifen.
Jetzt funktioniert auch das Makro
Code: Alles auswählen
sub F2GetBestRound
dim bestTime as double
dim bestRoundRow as integer
bestTime = "999,000"
oCalc = thisComponent
oSheet = oCalc.sheets().getByName("SetupManager")
oCellRange = osheet.getCellRangeByName("AB18:AB29")
'auslesen der Eckpunkte
iErsteZeile = oCellRange.rangeAddress.startRow
iLetzteZeile = oCellRange.rangeAddress.EndRow
'Schleife über die Zeilen im Sheet
For i = iErsteZeile to iLetzteZeile
oCell=osheet.getcellrangebyName("AB"&i+1)
currentRoundTime = oCell.getvalue
'msgbox currentRoundTime
if currentRoundTime < bestTime Then
if currentRoundTime <> 0 Then
bestTime = currentRoundTime
bestRoundRow = i+1
'msgbox bestRoundRow
end if
end if
next i
oSheet.getcellrangebyName("Q30").setvalue(oSheet.getcellrangebyName("Q"&bestRoundRow).getvalue)
oSheet.getcellrangebyName("S30").setvalue(oSheet.getcellrangebyName("S"&bestRoundRow).getvalue)
oSheet.getcellrangebyName("U30").setvalue(oSheet.getcellrangebyName("U"&bestRoundRow).getvalue)
oSheet.getcellrangebyName("W30").setvalue(oSheet.getcellrangebyName("W"&bestRoundRow).getvalue)
oSheet.getcellrangebyName("Y30").string = oSheet.getcellrangebyName("Y"&bestRoundRow).string
oSheet.getcellrangebyName("AB30").setvalue(oSheet.getcellrangebyName("AB"&bestRoundRow).getvalue)
end sub
mhh Danke, doch ich habs nun anders gelöst.
Das Problem warum ich mit KKLEINSTE() nur den Fehler #Wert! bekam habe ich gelöst. Doch so löste sich auch das Problem mit dem Makro..
Die Zeit wurde nämlich in ein Textfeld eingetragen und dieses wurde mit einer Zelle verknüpft. Erzeugte aber nicht wie gehofft einen Zahlenwert sondern einen String. Dies ist nicht gleich aufgefallen. Statt 1:34,123 bekam ich so den Wert '1:34,123.
Ich hab dann das Textfeld durch ein formatiertes ersetzt und konnte so nun auf einen richtigen Zahlenwert zurückgreifen.
Jetzt funktioniert auch das Makro
[code]
sub F2GetBestRound
dim bestTime as double
dim bestRoundRow as integer
bestTime = "999,000"
oCalc = thisComponent
oSheet = oCalc.sheets().getByName("SetupManager")
oCellRange = osheet.getCellRangeByName("AB18:AB29")
'auslesen der Eckpunkte
iErsteZeile = oCellRange.rangeAddress.startRow
iLetzteZeile = oCellRange.rangeAddress.EndRow
'Schleife über die Zeilen im Sheet
For i = iErsteZeile to iLetzteZeile
oCell=osheet.getcellrangebyName("AB"&i+1)
currentRoundTime = oCell.getvalue
'msgbox currentRoundTime
if currentRoundTime < bestTime Then
if currentRoundTime <> 0 Then
bestTime = currentRoundTime
bestRoundRow = i+1
'msgbox bestRoundRow
end if
end if
next i
oSheet.getcellrangebyName("Q30").setvalue(oSheet.getcellrangebyName("Q"&bestRoundRow).getvalue)
oSheet.getcellrangebyName("S30").setvalue(oSheet.getcellrangebyName("S"&bestRoundRow).getvalue)
oSheet.getcellrangebyName("U30").setvalue(oSheet.getcellrangebyName("U"&bestRoundRow).getvalue)
oSheet.getcellrangebyName("W30").setvalue(oSheet.getcellrangebyName("W"&bestRoundRow).getvalue)
oSheet.getcellrangebyName("Y30").string = oSheet.getcellrangebyName("Y"&bestRoundRow).string
oSheet.getcellrangebyName("AB30").setvalue(oSheet.getcellrangebyName("AB"&bestRoundRow).getvalue)
end sub[/code]