Ziel ist ein Makro, dass im markierten Bereich Zelle für Zelle durchgeht und anhand der enthaltenen Zahl das Zahlenformat entsprechend anpasst.
Sub Format_Nachkommastellen()
Dim varEingabe As Variant
Eingabe:
varEingabe = InputBox(Prompt:="Anzahl Nachkommastellen ( 1, 2 oder 3):", _
Title:="Zellen formatieren - Nachkommastellen", _
Default:=2)
Select Case varEingabe
Case "" 'Abgebrochen
Case "1", "2", "3"
Selection.NumberFormat = "#,##0." & String(CLng(varEingabe), "0")
Case Else
If MsgBox("unzulässige Eingabe", vbRetryCancel, "") = vbRetry Then GoTo Eingabe
End Select
End Sub
Dieses Makro geht die einzelnen Zellen durch und setzt jeweils die angegebene Anzahl an Stellen als Nummernformat. So weit so gut.
Ein anderes funktionsfähiges Makro dass ich bereits habe sieht so aus:
Dim row As Integer
For row = 26 To 33 Step 1
If Cells(row, 6) = 0 Then Cells(row, 6).NumberFormat = "?"
If Cells(row, 6).Value 0 Then Cells(row, 6).NumberFormat _
= "?0.000"
If Cells(row, 6).Value = 10 Then Cells(row, 6). _
NumberFormat = "?00.00"
If Cells(row, 6).Value = 100 Then Cells(row, 6). _
NumberFormat = "?000.0"
If Cells(row, 6).Value >= 1000 Then Cells(row, 6).NumberFormat = "?0000"
Next row
Leider gelingt es mir nicht beide Codes zu vereinen. Über Hilfe würde ich mich freuen.
Vielen Dank
Andreas