Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1056to1060
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

Runden mit VBA?

Runden mit VBA?
11.03.2009 12:47:07
Micha
Hallo liebe Spezialisten.
Ich stehe vor einem für mich unlösbaren Problem :-(
In der Spalte „V“ (Tabelle1) stehen unterschiedliche durch Formeln berechnete Ergebnisse.
Ich möchte das mir in dieser Spalte nach betätigen des KommandButtons2 alle Ergebnisse die mindestens 4-stellig sind, auf volle Hunderter gerundet werden (Bsp. 4.536 auf 4.500 oder 12.366 auf 12.400)
Durch erneutes betätigen des KommandButton sollen mir wieder die ursprünglichen Werte angezeigt werden.
Würde mich riesig über den erforderlichen Code freuen.
Danke und Gruß
Micha

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Runden mit VBA?
11.03.2009 12:56:03
Arthur
...
Angenommen der Wert steht in A1 und eine neue Spalte für die Ausgabe sei erlaubt (die eigentlichen Werte können ausgeblendet werden).
=RUNDEN(A1/100;0)*100
wobei der Wert 100 (für die Rundung auf zwei Vorkommastellen) auch aus einer anderen Zelle genommen werden könnte.
Das in Kombination mit einem wenn(...) könnte zu einer der möglichen Lösungen führen.
-Arthur
AW: Runden mit VBA?
11.03.2009 13:02:24
Micha
Hallo Arthur,
eine neue Spalte ist leider nicht möglich.
Ich muss das Problem mit VBA gelößt haben :-(
Gruß
Micha
AW: Runden mit VBA?
11.03.2009 14:16:30
Renee
Hi Micha,
Das in das Tabellenblatt:

Private Sub CommandButton2_Click()
Static bRounded As Boolean
Dim rC As Range
If bRounded Then
CommandButton2.Caption = "Gerundet anzeigen!"
bRounded = False
For Each rC In Range("V:V").SpecialCells(xlCellTypeFormulas)
rC.Formula = Replace(Left(rC.Formula, Len(rC.Formula) - 12), "=ROUND((", "=")
Next rC
Else
CommandButton2.Caption = "Original anzeigen!"
bRounded = True
For Each rC In Range("V:V").SpecialCells(xlCellTypeFormulas)
rC.Formula = "=ROUND((" & Right(rC.Formula, Len(rC.Formula) - 1) & _
")/100,0)*100"
Next rC
End If
End Sub


GreetZ Renée

Anzeige
AW: Runden mit VBA?
11.03.2009 14:27:56
Micha
Hy Renée
Das ist schon fast perfekt, jetzt werden alle Zahlen gerundet, ich möchte aber das erst ab 4 stelligen Zahlen gerundet wird.
Wäre super wenn du das noch schaffen würdest.
Bin um ca 15:30Uhr wieder online.
1000 Dank und Gruß
Michael
AW: Runden mit VBA?
11.03.2009 14:48:36
Renee
Hi Michael,
Dann halt so:

Private Sub CommandButton2_Click()
Static bRounded As Boolean
Dim rC As Range
If bRounded Then
CommandButton2.Caption = "Gerundet anzeigen!"
bRounded = False
For Each rC In Range("V:V").SpecialCells(xlCellTypeFormulas)
If Abs(rC.Value) >= 1000 Then
rC.Formula = Replace(Left(rC.Formula, _
Len(rC.Formula) - 12), "=ROUND((", "=")
End If
Next rC
Else
CommandButton2.Caption = "Original anzeigen!"
bRounded = True
For Each rC In Range("V:V").SpecialCells(xlCellTypeFormulas)
If Abs(rC.Value) >= 1000 Then
rC.Formula = "=ROUND((" & Right(rC.Formula, _
Len(rC.Formula) - 1) & _
")/100,0)*100"
End If
Next rC
End If
End Sub


GreetZ Renée

Anzeige
AW: Runden mit VBA?
11.03.2009 16:41:56
Micha
Hallo Renée,
meine Hochachtung, PERFEKT!!!
Funktioniert Prima.
1.000 DANK
Micha

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige