von komma4 » Mo, 05.02.2007 19:00
Mehrere Ideen
a) Markiere die Zellen, dann: "Standardformatierung"; Tastenkombi.: Strg+Umschalt+Leertaste, der erste Menüpunkt im "Format"
b) wenn "leider als Text formatiert" bedeutet, dass ein Apostroph vor den Zahlen steht, gibt's zwei Möglichkeiten: Suchen&Ersettzen manuell, oder mittels Makro (falls die Aufgabe öfter mal anfällt.
b1) geht mit S&E: suche nach "^." ('Dach'-Punkt; also ohne die Gänsefüsschen), ersetze durch: "&" (kaufm. Und, ebenfalls ohne "); "Mehr Optionen" aufklappen, markiere: Reguärer Ausdruck, ersetze alle (in der Selektion?).
b2) ist dann genau dieses als Makro:
Code: Alles auswählen
Sub calc_Txt2Num
' changing cells with aphostroph to number formatted cells
sModulName = "calc_Txt2Num "
sModulVersion = "2005-08-18"
' get document reference
oDok = ThisComponent
' check if document is spreadsheet
If Not oDok.supportsService(_
"com.sun.star.sheet.SpreadsheetDocument" ) Then
MsgBox _
"Makro wurde nicht von einem Calc-Dokument aufgerufen." & CHR(10) _
& CHR(10) & "Erklärung:" _
& CHR(10) & "Dieses Makro entfernt aus den markierten Zellen alle" _
& CHR(10) & "vorangestellten Apostrophen, so dass die Zellen " _
& CHR(10) & "nummerisch formatiert sind." _
& CHR(10) _
& CHR(10) & "Makro " & sModulName & " wird nun beendet." _
, 48 , sModulName & sModulVersion
Exit Sub
End If
' get selection
oSel = oDok.getCurrentSelection
' selection of cells?
If Not oSel.supportsService(_
"com.sun.star.table.CellProperties" ) Then
MsgBox _
"Keine Auswahl getroffen." & CHR(10) _
& CHR(10) & "Erklärung:" _
& CHR(10) & "Ohne die Auswahl einer Zelle oder eines Zellbereichs" _
& CHR(10) & "kann dieses Makro nicht arbeiten." _
& CHR(10) & "Die momentane Auswahl ist kein Zellbereich." _
& CHR(10) _
& CHR(10) & "Makro " & sModulName & " wird nun beendet." _
, 48 , sModulName & sModulVersion
Exit Sub
end if
oErsetzen = oSel.createReplaceDescriptor()
oErsetzen.SearchString = "^."
oErsetzen.ReplaceString = "&"
oErsetzen.SearchRegularExpression = True
oSel.ReplaceAll( oErsetzen )
End Sub
Klappt für Werte, die (nach Ländereinstellung) richtig formatiert sind: Deine 1,255,555 ist keine Million,ebbes, sondern verbleibt als Zeichenkette (linksbündig) in der Zelle.
Probier's mal (wie immer) mit einer Sicherungskopie...
Hilft das?
Mehrere Ideen :-)
a) Markiere die Zellen, dann: "Standardformatierung"; Tastenkombi.: Strg+Umschalt+Leertaste, der erste Menüpunkt im "Format"
b) wenn "leider als Text formatiert" bedeutet, dass ein Apostroph vor den Zahlen steht, gibt's zwei Möglichkeiten: Suchen&Ersettzen manuell, oder mittels Makro (falls die Aufgabe öfter mal anfällt.
b1) geht mit S&E: suche nach "^." ('Dach'-Punkt; also ohne die Gänsefüsschen), ersetze durch: "&" (kaufm. Und, ebenfalls ohne "); "Mehr Optionen" aufklappen, markiere: Reguärer Ausdruck, ersetze alle (in der Selektion?).
b2) ist dann genau dieses als Makro:[code]
Sub calc_Txt2Num
' changing cells with aphostroph to number formatted cells
sModulName = "calc_Txt2Num "
sModulVersion = "2005-08-18"
' get document reference
oDok = ThisComponent
' check if document is spreadsheet
If Not oDok.supportsService(_
"com.sun.star.sheet.SpreadsheetDocument" ) Then
MsgBox _
"Makro wurde nicht von einem Calc-Dokument aufgerufen." & CHR(10) _
& CHR(10) & "Erklärung:" _
& CHR(10) & "Dieses Makro entfernt aus den markierten Zellen alle" _
& CHR(10) & "vorangestellten Apostrophen, so dass die Zellen " _
& CHR(10) & "nummerisch formatiert sind." _
& CHR(10) _
& CHR(10) & "Makro " & sModulName & " wird nun beendet." _
, 48 , sModulName & sModulVersion
Exit Sub
End If
' get selection
oSel = oDok.getCurrentSelection
' selection of cells?
If Not oSel.supportsService(_
"com.sun.star.table.CellProperties" ) Then
MsgBox _
"Keine Auswahl getroffen." & CHR(10) _
& CHR(10) & "Erklärung:" _
& CHR(10) & "Ohne die Auswahl einer Zelle oder eines Zellbereichs" _
& CHR(10) & "kann dieses Makro nicht arbeiten." _
& CHR(10) & "Die momentane Auswahl ist kein Zellbereich." _
& CHR(10) _
& CHR(10) & "Makro " & sModulName & " wird nun beendet." _
, 48 , sModulName & sModulVersion
Exit Sub
end if
oErsetzen = oSel.createReplaceDescriptor()
oErsetzen.SearchString = "^."
oErsetzen.ReplaceString = "&"
oErsetzen.SearchRegularExpression = True
oSel.ReplaceAll( oErsetzen )
End Sub[/code]
Klappt für Werte, die (nach Ländereinstellung) richtig formatiert sind: Deine 1,255,555 ist keine Million,ebbes, sondern verbleibt als Zeichenkette (linksbündig) in der Zelle.
Probier's mal (wie immer) mit einer Sicherungskopie...
Hilft das?