=wert() ichbrauche Hilfe..

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

arttur
*
Beiträge: 16
Registriert: Sa, 23.12.2006 01:01

=wert() ichbrauche Hilfe..

Beitrag von arttur »

hallo,

Ich habe in einer Tabelle Daten (Zahlen, die leider als Text formatiert sind) es sind zb:

26,59 - sechsundzwanzig usw

1,255,555 - eine Million usw…



also kleinere Zahlen aber auch große;ich versuchte die dann mit =wert() umzuwandeln leider geht das nur bei Zeilen wo Komma nur 1 mal vorkommt (zb 26,59) .ich habe dann alle Komma mit Punkt ersetzt dann hat die Umwandlung nur bei 1,255,555 funktioniert .

Wie kriege ich es hin damit ich alle „Zahlen als Text“ in richtige Zahlen umwandeln kann?



Hat einer eine Idee..
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

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?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten