Hi,
ich habe folgendes Problem. Ich möchte in Excel-VBA gerne Zellen auf ganze Zahlen ohne Kommastellen runden. Das Makro "Runden" funktioniert einwandfrei. Allerdings möchte ich den Prozess gerne automatisiert haben, sprich: Sobald sich der Wert in den Zellen C3:C74 ändert, sollen diese automatisch wieder gerundet werden. Leider funktioniert das unten aufgeführte Makro so nicht. Sobald ich es ausführe, hängt sich das Programm auf. Das Makro habe ich in Tabelle 2 integriert, wo es sich auch drauf bezieht. Ferner sind die Daten in C3:C74 die Daten aus der Tabelle 1, die dort in den Zellen D2:D73 wiederzufinden sind und obendrein aus einer externen Datenquelle importiert werden. Die Excel-Version ist Excel 2003 Version 11.0.
Falls ich was wichtiges vergessen haben sollte zu erwähnen, so weißt mich bitte drauf hin, da ich Anfänger mit VBA bin;)
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C3:C74")) Is Nothing Then
Exit Sub
Else
Call Runden
End If
End Sub
Sub Runden()
Dim Zelle As Object
Range("C3:C74").Select
For Each Zelle In Selection
If Zelle.Value = "" Or Zelle.Value = 0 Then
Else
On Error Resume Next
Zelle.Value = _
CDec(Application.Round(Zelle.Value, 0))
End If
Next Zelle
End Sub
Vielen Dank bereits im Voraus für eure Hilfe. Ich freue mich sehr über mögliche Lösungsansätze.
Grüße
Philipp |