Anzeige
Archiv - Navigation
1596to1600
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

Zellenformat mit vba

Zellenformat mit vba
23.12.2017 22:46:30
Christian
Hallo,
ich habe nun folgenden Code lange Zeit benutzt ohne irgendwelche Probleme.
numFormat = "#,##0"" / " & Format(Variable1, "#,##0") & " (" & Format(Variable2, "0") & "%)"""
Worksheets(1).Cells(10,1).NumberFormat = numFormat
Seit einiger Zeit bekomme ich nun allerdings folgende Fehlermeldung:
Laufzeitfehler '1004':
Die NumberFormat-Eigenschaft des Range-Objektes kann nicht festgelegt werden.
Die Variablen1 und 2 sind zu keiner Zeit 0 oder kleiner. Der Fehler kommt auch nicht immer und hat vorher immer ohne Fehlermeldung funktioniert. Der Fehler kommt in etwa 2 von 10 Durchläufen. Ich verstehe allerdings nicht woher das kommt und weiss auch gar nicht nach was ich suchen soll um den Fehler zu beheben. Woher kann dieser Fehler kommen?
Danke und freundliche Grüße
Christian

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellenformat mit vba
27.12.2017 11:31:08
Piet
Hallo Christian
ich habe deine Formel mal nachgestellt, sie funktionier sogar mit 0 oder -Zahlen einwandfrei!
Dieses Format ist mir neu, aber interessant das es sowas gibt. Meine Frage als Tipp:
Sind Variable 1+2 vorher als Integer definiert und übersteigen den Höchstwert für Integer > 37000?
Dann müssten sie in der Dim nweisung nur als Long festgelegt werden. Probier das bitte mal aus, indem du
vor diesen Code "On Error Goto" einbaust und dir die Werte im Fehlerfall per MsgBox anschaust. siehe unten
mfg Piet
Sub Makro1()
'Hier steht das vorherige Programm, dann kommt "On Error" zum Prüfen
On Error GoTo Fehler
umFormat = "#,##0"" / " & Format(Variable1, "#,##0") & " (" & Format(Variable2, "0") & "%)"""
Worksheets(1).Cells(10, 1).NumberFormat = numFormat
'Hier dein Folgeprogramm mit Exit Sub am Ende!!
Exit Sub
'Hier kommt die Fehlermeldung zur Kontrolle der Variablen per MsgBox
Fehler:  MsgBox Variable1 & "  " & Variable2
End Sub

Anzeige
AW: Zellenformat mit vba
31.12.2017 16:27:57
Christian
Hallo,
also die Variablen sind nicht im Modul selbst definiert. Sind vom Typ her Variant/Double (Im Überwachungsfenster so angegeben).
Die Werte laut MSGbox sind alle I.O. Bzw. der Fehler tritt bei teils willkürlichen Werten auf. Bsp.:
Variable1: 70356
Variable2: 79,9022116095287
Das sind die Werte, die die MSGbox ausgegeben hat. Variable1 ist übrigens immer unverändert, da das der Maximalwert ist. Variable2 das Verhältnis und Variable3 der aktuelle Wert, der dann in der Zelle steht. Im Format daher nicht vorhanden.
Danke für den Tipp mit der MSGbox und dem On Error go to, kannte ich noch nicht.
Ist es ein Problem, dass die Variablen nicht genau definiert sind? Die Definition kommt ja eigentlich auch automatisch wenn nichts festgelegt ist. (Variant/Double in diesem Falle)
Das Problem tritt so selten auf, dass ich Probleme mit der Fehleranalyse habe.
Variable3 ändert sich stetig und damit auch Variable2. Kann der Fehler auch nicht am Format selbst sondern an dem aktuellen Wert in der Zelle liegen?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige