Zahlen aufrunden und Nullen anfügen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zahlen aufrunden und Nullen anfügen

von turtle47 » So, 14.01.2007 00:21

Danke, funktioniert.
Hatte ich von Dir auch nicht anders erwartet. :wink:

Gut´s Nächtle.

Jürgen

von Karolus » So, 14.01.2007 00:12

Hallo Turtle
lass von den 5 Zeilen code :

If wert-wert = 0 Then ________ 'Diese Bedingung trifft immer zu, da kann man sie auch weglassen !
wert_neu = wert*1000 ________ 'Daher wird diese Operation immer ausgeführt
Else ______________ 'Deshalb brauchts diese und-
wert_neu = wert (0)*1000 ___________ 'diese
End If ____________ 'und auch diese Zeile auch nicht mehr.

die folgende übrig,(die anderen Zeilen sind überflüssig weil 'wert' minus 'wert' nach den mathematischen Definitionen die ich kenne immer '0' ergibt)

wert_neu = wert*1000

Gruß Karo
(aus Owwerhesse)

von turtle47 » Sa, 13.01.2007 23:25

Hi Karolus,

Stephan hatte mir freundlicherweise ein Makro programmiert welches
meine ursprüngliche Anforderung erfüllt.
Da ich mich aber mitlerweile entschieden habe die Nachkommastellen
mit zu übernehmen habe ich mit dem Code etwas herumexperimetiert,
bis ich das gewünschte Ergebnis hatte.

"Oh Herr, verzeih ihnen, denn sie wissen nicht was sie tun" aber es funktioniert.

Wie müsste denn die richtige Syntax lauten?
Vieleicht noch eine kleine Erklärung dazu?
Bin ja lernfähig!

Jürgen

von Karolus » Sa, 13.01.2007 23:14

Hallo

Ich komm ja vom Land und daher etwas schwerer von Begriff ;-)
kann mir mal jemand erklären, was eine Code-zeile der Art :
If wert-wert = 0 Then
nun jetzt konket bewirken soll ?

Herzliche Grüße
Karo

von turtle47 » Sa, 13.01.2007 22:37

Hallo Stephan,

habe den Code etwas auf meine Bedürfnisse modifiziert.

Code: Alles auswählen

 If wert-wert = 0 Then
            wert_neu = wert*1000
         Else
            wert_neu = wert (0)*1000
Funktioniert super.

Nochmals Danke.

Jürgen

von turtle47 » Sa, 13.01.2007 20:21

Ja, ist schon klar.
Man hat schnell was übersehen und dann kann es ein böses Erwachen geben.

Das finde ich das Tolle an diesem Forum, dass die User sich hier
wirklich eingehende Gedanken machen und die Sache nicht nur
oberflächlich betrachten.

Das Makro werde ich natürlich auch noch ausprobieren und dann zu meinem
Archiv hinzufügen.

von Stephan » Sa, 13.01.2007 20:12

Ein wenig mitdenken kann ich schon.
durch mich gänzlich unbestritten. Ich wollte nur auf Etwas hinweisen was möglicherweise zu übersehen war und das Du es nun ohnehin anders gemacht hast konnte weder ich noch sonst jemand wissen.




Gruß
Stephan

von turtle47 » Sa, 13.01.2007 19:29

kann sein, aber sie funktioniert nicht so wie Du sie haben wolltest:
Ein wenig mitdenken kann ich schon.
Hatte zuerst die Formel folgendermassen geändert:

Code: Alles auswählen

=AUFRUNDEN(A1;0)*1000
habe mich aber dann entschlossen diese Formel zu verwenden:

Code: Alles auswählen

=RUNDEN(A1;1)*1000
Das Importieren hat funktioniert und das ist das wichtigste.

Jürgen

von Stephan » Sa, 13.01.2007 19:12

Die Daten sollen verändert in einen Onlineshop importiert werden und der
versteht leider keine Formeln.
Genau das muß er auch nicht - darauf habe ich hingewiesen. Somit ist das leider keine Antwort auf meine Frage.

Geht es hingegen um Formatierung ist das ein ganz anderes Thema, was aber wiederum nichts mit Formeln zu tun hat.
Warum auch immer.
Warum auch immer so schnell aus einem unbekannten Problem, dessen Ursache unbekannt ist, die Gewißheit wird, es müsse an den Formeln liegen ... :wink:
Nochmals vielen Dank.
Ja gerne, aber beachte ggf.:
Die Formel funktioniert super
kann sein, aber sie funktioniert nicht so wie Du sie haben wolltest:
die möchte ich gerne aufrunden und hinten noch drei Nullen anhängen.


nur als Hinweis, da die Formel zwar für die 3 angegebenen Werte funktioniert, aber nicht für alle falls aufrunden so gemeint war wie hingeschrieben.


Gruß
Stephan

von turtle47 » Sa, 13.01.2007 19:00

Hallo Stephan,

auch vielen Dank für Deine Mühe.
Welcher Zusammenhang besteht dabei? Entweder Du exportierst die Daten in einem Format was die Formeln beinhaltet oder in einem Format was nur die Werte beinhaltet. Inwiefern könnten Dich Formeln nun am Export der Werte hindern?

Ich versehe das offen gesagt nicht.
Die Daten sollen verändert in einen Onlineshop importiert werden und der
versteht leider keine Formeln.

Ich hatte dort das Gewicht in Kilogramm angegben weil die Teile recht schwer sind.
Im Shop sieht das doof aus wenn dort z.B. 380000 g steht.

Bei der Angabe in Kilogramm im Shop hat dieser angefangen zu spinnen
und die Versankosten falsch berechnet. Warum auch immer.

Bei über Hundert Artikeln hatte ich keine Lust jeden einzelnen Artikel anzuklicken um diesen zu ändern.

Also flux die Artikel exportiert, die Werte Dank Eurer großartigen Hilfe
verändert und wieder in den Shop importiert. Fertig.

Nochmals vielen Dank.

Jürgen

von Stephan » Sa, 13.01.2007 18:43

Ich brauche in der Spalte aber die echten Werte, eine Formel in einer
anderen Spalte nützt mir nichts weil ich die Tabelle in ein anderes
Programm exportieren muss.
Welcher Zusammenhang besteht dabei? Entweder Du exportierst die Daten in einem Format was die Formeln beinhaltet oder in einem Format was nur die Werte beinhaltet. Inwiefern könnten Dich Formeln nun am Export der Werte hindern?

Ich versehe das offen gesagt nicht.


die möchte ich gerne aufrunden und hinten noch drei Nullen anhängen.
Formel wäre:

=AUFRUNDEN(<Zelladresse>)*1000

Da Du keine Formel willst (Begründung ist mir unverständlich), kannst Du entweder:
*die berechneten Werte ausschneiden und mit Einfügen-Inhalte nur die reinen Zahlen wieder einfügen
*oder ein Makro verwenden

z.B.:

Alle umzuwandelden Zellen markieren und Sub umwandeln() starten:

Code: Alles auswählen

Sub umwandeln()
selektion = ThisComponent.getCurrentSelection()
If Not( selektion.supportsService("com.sun.star.sheet.SheetCellRanges" ) ) then
		Bereichsadresse = selektion.getRangeAddress()
		alle(Bereichsadresse)
	Else
		x = selektion.getCount()-1
		for i=0 To x
			Bereichsadresse = selektion.getByIndex(i).getRangeAddress()
			alle(Bereichsadresse)
		Next i
End If
End Sub

Sub alle(adresse)
For j = adresse.StartColumn To adresse.EndColumn
	For k = adresse.StartRow To adresse.EndRow
		wert = ThisComponent.Sheets(adresse.Sheet).getCellByPosition(j, k).Value
		If Fix(wert)-wert = 0 Then
				wert_neu = wert*1000
			Else
				wert_neu = (Fix(wert)+1)*1000
		End If 
		ThisComponent.Sheets(adresse.Sheet).getCellByPosition(j, k).Value = wert_neu
	Next k
Next j
End Sub


Gruß
Stephan

von turtle47 » Sa, 13.01.2007 18:31

Hallo Eia und Agathe,

vielen Dank, ich bin begeistert. :D
Das rettet mir den Abend.

Schönes Wochenende noch.

Jürgen

von Eia » Sa, 13.01.2007 18:23

Du kopierst die Ergbnisspalte und fügst sie mit Bearbeiten/Inhalte einfügen wieder in die Originalspalte ein. Dabei deaktivierst Du "alles" und "Formeln" und aktivierst stattdessen "Zahlen" in dem Einfüge-Menu

Re: Zahlen aufrunden und Nullen anfügen

von turtle47 » Sa, 13.01.2007 18:17

Hi Agathe,

Vielen Dank für die schnelle Antwort.
Die Formel funktioniert super, aber leider löst es mein Problem nicht, weil:
Ich brauche in der Spalte aber die echten Werte, eine Formel in einer
anderen Spalte nützt mir nichts weil ich die Tabelle in ein anderes
Programm exportieren muss.
Gibt es noch eine andere Lösung?

Jürgen

von Agathe » Sa, 13.01.2007 17:59

Hallo Jürgen

Klicke in das Feld, wo die gerundete Zahl stehen soll. Wähle im Funktionsassistenten die Funktione RUNDEN aus und klick auf weiter.
Im Assistenten gibst du die Zelle an, deren Inhalt gerundet werden soll und die Nachkommastellen. Klick auf OK
Um auf volle 1000 zu kommen, würde ich das ganze mit 1000 multiplizieren. Die Formel sieht dann so aus:

Code: Alles auswählen

=RUNDEN(A1;0)*1000
Gruß Agathe

Nach oben