VBA Code Zeile
#1
Moin zusammen,

ich habe mir von Perplexity einen VBA Code generieren lassen, der eine MsgBox anzeigen soll, sobald der Wert einer Summenzelle überschritten wird. Funktioniert soweit ohne die Zahlenformatierung.

Hier die Codezeile: Target.NumberFormat = "#,##0.00 \ kWh".
Allerdings mit der Formatierung kommt eine Debuggen Meldung und die entsprechende Zeile wird gelb markiert.
Falls die Datei gebraucht wird um zu schauen, kein Problem.
Vielleicht ist ja die Zeile irgendswie Falsch geschrieben.

Lg Jo

Angel


Angehängte Dateien
.xlsm   Verbrauch001.xlsm (Größe: 37,15 KB / Downloads: 0)
Antworten Top
#2
Hi Jo,

Datei?

LG, Alexandra
Antworten Top
#3
Hallo Cysu,

ok in Arbeit

19
Antworten Top
#4
Wozu braucht man da eine Datei, Alexandra?
Code:
Target.NumberFormat = "#,##0.00 ""\ kWh"""

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Hi Ralf,

ist ja nicht jeder so "Profi" wie Du! :)
Ich tue mir leichter, wenn ich das testen kann und lerne noch was dabei, übrigens vielen andere, die nicht so allwissend sind auch! :)

LG, Alexandra
Antworten Top
#6
Hallo,

das Formatkennzeichen "h" ist für Stunden vorgesehen, und daher der Syntaxerror. Wenn du das "h" selber anzeigen lassen möchtest, muß das mit einem Backslash "\" maskiert werden:
Code:
.Numberformat = "#,##0.00\ \ kW\h"

Gruß
Knobbi38
Antworten Top
#7
Das sind doch Totschlagargumente!
Schreibe in eine beliebige Zelle 1234,567 und markiere sie wieder.
Probiere den falschen Code aus der Threaderöffnung (ActiveCell statt Target).
Selbst, wenn wir die Datei hätten, kann man da nicht viel "probieren", sondern müsste wissen, wie man den Format-String aufbaut.

Probiere mal das Format "0h"
Excel versteht das nicht, weil das h eigentlich für Stunde vorgesehen ist.
IVm der 0 kommt die Fehlermeldung

   

Also lautet das einzutragende Format
#.##0,00 "/ kWh"

Wenn Du dies mit dem Rekorder aufzeichnest, erhältst Du meinen obigen Code.

Das hat nix mit Profi zu tun.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
Hallo RPP63,

Ich habe die Zeile eingefügt und ja die Message Box erscheint auch
aaaber nur wenn ich den Wert händisch eintippe, der Wert in der Zelle G5 wird allerdings per Formel ermittelt und dann tut sich nix.
Ja gut hätte ich sagen sollen. Huh

Was machen?

LG Jo
Antworten Top
#9
Du hättest es nicht "sagen" müssen, sondern zumindest das Ereignismakro posten sollen.
Ein Worksheet_Change reagiert nun mal nicht auf Formelberechnungen.
Es sei denn, man überwacht die Precedents, also die Zelle(n), die das Ergebnis bilden.

Offensichtlich ist Alexandra Hellseherin! Smile

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#10
RPP63,

Leider funktioniert Dein Vorschlag nicht, es kommt eine Fehlermeldung

Fehler beim Kompilieren
Erwartet Ausdruck

Mmmmhh jetzt weiß ich gar nix mehr

Dodgy

Hier das Makro:
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell = "$G$5" Then 'If Target.Address = "$G$5"
' Zahlenformat mit Tausendertrennzeichen und "kWh" anwenden
'Target.NumberFormat = #.##0,00 "/ kWh"

' Überprüfen, ob der Wert den Grenzwert überschreitet
If Target.Value > 12500 Then
MsgBox "Warnung: Der Wert in Zelle G5 überschreitet 12.500,00 kWh!", vbExclamation, "Grenzwert überschritten"
End If
End If
End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste