Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
996to1000
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Single in Integer und wieder zurück

Single in Integer und wieder zurück
01.08.2008 20:24:00
Metin
Vielleicht kann mir ja wieder einer von euch helfen.
ich habe diverse Berechnungen die in zellen ausgegeben werden, Die Anzeige in der Zelle ist mit einer Nachkommastelle das klappt. Jedoch in der oberen Bearbeitungszeile wird leider die kompette Zahl angezeigt soll aber nicht.
z.B Bearbeitungszeile 123,456
Zelle 123,5
Ich habs hiermit versucht aber es funktioniert nicht
zuf = zuf * 10
Dim cintwert As Integer
Dim cintwert1 As Single
cintwert = CInt(zuf) (um zu einer Ganzahl zukommen)
cintwert1 = CSng(cintwert)
cintwert1 = cintwert1 / 10
Workbooks(Me.txtProjektname.Text).Worksheets(Me.txtKabelnummer.Text).Range("F4").Value = cintwert1

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Single in Integer und wieder zurück
01.08.2008 21:10:09
Erich
Hallo Metin,
die wichtigste Frage:
Soll in der Zelle der gerundete Wert stehen, also 123,5 ?
Oder soll in der Zelle der Wert 123,456 stehen, aber 123,5 angezeigt werden ?
Das Runden musst du nicht selbst mit CInt usw. programmieren, dafür gibts die Funktion Round.
Allerdings rundet diese Funktion nicht "normal" mathematisch - schau mal in die VBA-Hilfe zu Round.
Alternativ kannst du die übliche Excelfunktion RUNDEN verwenden,
mit WorksheetFunction.Round(...) oder Application.Round(...).
In folgendem Beispiel steht der Wert 123,65 in Zelle B1, angezeigt wird 123,7 wegen des Zahlformats 0,0
Alle anderen Zellen haben Standardformat.
in Spalte C siehst du in C2 die Ungenauigkeit bei Single - ich würde Double verwenden.
 ABCDE
1123,65123,7123,7123,7123,7
2 123,7123,699997123,6 

Formeln der Tabelle
ZelleFormel
B1=A1
B2=RUNDEN(A1;1)

Und hier das Makro, das die Werte in den Spalten C bis E liefert:

Sub rund()
Dim sngW As Single, dblW As Double
sngW = Cells(1, 1)
dblW = Cells(1, 1)
Cells(1, 3) = Application.Round(sngW, 1)
Cells(2, 3) = Round(sngW, 1)
Cells(1, 4) = Application.Round(dblW, 1)
Cells(2, 4) = Round(dblW, 1)
Cells(1, 5) = WorksheetFunction.Round(dblW, 1)
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Single in Integer und wieder zurück
01.08.2008 21:25:00
Uduuh
Hallo,
klassischerweise rundet man so:
Wert=Int(Wert*10^AnzahlKommastellen+0.5)/10^Anzahlkommastellen
in deinem Fall also
zuf=Int(zuf*10+0.5)/10
Workbooks(Me.txtProjektname.Text).Worksheets(Me.txtKabelnummer.Text).Range("F4").Value = zuf
Gruß aus’m Pott
Udo

dank an euch beide hat funktioniert
01.08.2008 22:04:00
Metin
bestens

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige