Heiligenschein abgenommen .. Das Ding drückt immer so auf die Hörner …
Moin Renè,
schon mal versucht per VBA eine bedingte Formatierung zu setzen.
Das geht ohne Probleme, solange man keine Formeln eingibt, die eine Funktion enthalten, z.B.
rng.FormatConditions.Add Type:=xlExpression, Formula1:=“=UND(D15=0;E15=1;F15=0)“
JAAA, das funktioniert … aber schick die Datei mal an jemanden, der englische Sprache eingestellt hat. Das funktioniert das dann nicht mehr!
Im VBA-Code muss ich, wenn als Sprache Deutsch eingestellt habe, die Formel auch mit dem deutschen Funktionsnamen eingeben, ansonsten ignoriert Excel die Bedingung . WTF
Schon vor dem gleichen Problem gestanden/gesessen? Ich habe aktuell das Problem, dass ich für eine Firma arbeite, deren Mitarbeiter unterschiedliche Sprachen in Office eingestellt haben, eigentlich habe ich keine Lust jetzt immer prüfen zu müssen welche Sprache gerade aktuell ist und entsprechend die Formeln zu setzen….
mannmannmann
Viele Grüße
Christian
####
Hi Christian,
Warum schreibst du nicht:
rng.FormatConditions.Add Type:=xlExpression, Formula1:=“=AND(D15=0;E15=1;F15=0)“
Allerdings: wenn die Amis Komma als Trennzeichen eingeschaltet haben, dann läuft das Teilchen auch an die Wand. Übrigens: ebenso die Formeln in der Datenüberprüfung.
Aber das bekommt man mit
Application.International(xlListSeparator)
heraus. Alles andere auch:
https://learn.microsoft.com/de-de/office/vba/api/excel.xlapplicationinternational
(Gruß aus der internationalen Hölle: deutsches Excel; englische Zahlen: 1,234.56)
Übrigens: früher lief der Makrorekorder an die Wand, wenn ich aufgezeichnet habe:
Datenüberprüfung / benutzerdefiniert / =Heute()
Inzwischen klappt das: aufzeichnen und abspielen lassen.
Ich fürchte, du kommst um eine Prüfung nicht rum …
Oder: schreib die englische (!) Formel in eine Zelle; Excel wandelt sie in die Oberflächensprache um und lies die Formel von dort wieder aus:
ActiveCell.Formula2 = „=AND(D15=0,E15=1,F15=0)“
MsgBox ActiveCell.Formula2
####