von Karolus » Mi, 12.09.2007 03:17
Hallo
Die Suchen und Ersetzen -Lösung scheitert offenbar bei Nullen in der zweiten Minutenstelle.
Stell mal deine Zahlen auf zwei Kommastellen ein und versuch mal folgendes Makro:
Voreingestellt ist Bereich A1:A100 im ersten Tabellenblatt das musst du für dich entspr. anpassen.
Code: Alles auswählen
Sub zeitkonvertierung '33,5→ 33:50 (Stunden)
odoc = thisComponent
osheet = odoc.sheets(0) '1.TabellenBlatt
Dim Lokalformate as new com.sun.star.lang.Locale
numberformats = odoc.numberformats
numberformatstring = "[HH]:MM"
numberformatid = numberformats.queryKey(numberformatstring, Lokalformate, True)
if numberformatId = -1 then
numberformatId = numberformats.addNew(numberformatstring,Lokalformate)
end if
for z = 0 to 99 'Zeilen 1 bis 100.....
konvertzelle = osheet.getcellbyposition(0, z) '....in Spalte A
v =konvertzelle.string
hh = left(v,instr(v,",")-1)
mm =right(v,2)
konvertzelle.formula = hh & ":" &mm
konvertzelle.numberformat = numberformatId
next
End Sub
Gruß Karo
Hallo
Die Suchen und Ersetzen -Lösung scheitert offenbar bei Nullen in der zweiten Minutenstelle.
Stell mal deine Zahlen auf zwei Kommastellen ein und versuch mal folgendes Makro:
Voreingestellt ist Bereich A1:A100 im ersten Tabellenblatt das musst du für dich entspr. anpassen.
[code] Sub zeitkonvertierung '33,5→ 33:50 (Stunden)
odoc = thisComponent
osheet = odoc.sheets(0) '1.TabellenBlatt
Dim Lokalformate as new com.sun.star.lang.Locale
numberformats = odoc.numberformats
numberformatstring = "[HH]:MM"
numberformatid = numberformats.queryKey(numberformatstring, Lokalformate, True)
if numberformatId = -1 then
numberformatId = numberformats.addNew(numberformatstring,Lokalformate)
end if
for z = 0 to 99 'Zeilen 1 bis 100.....
konvertzelle = osheet.getcellbyposition(0, z) '....in Spalte A
v =konvertzelle.string
hh = left(v,instr(v,",")-1)
mm =right(v,2)
konvertzelle.formula = hh & ":" &mm
konvertzelle.numberformat = numberformatId
next
End Sub[/code]
Gruß Karo