Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Syntax-Problem auf verschiedenen Rechnern

Forumthread: Syntax-Problem auf verschiedenen Rechnern

Syntax-Problem auf verschiedenen Rechnern
31.08.2018 10:05:27
Georg
Hallo,
ich habe ein Makro geschrieben, das eine bedingte Formatierung folgendermaßen setzt:
Selection.FormatConditions.add Type:=xlExpression, Formula1:= _
"=REST(ZEILE(),2)=0"
Das Template liegt auf einem Netzlaufwerk und meine Kollegen sollen dieses Template verwenden.
Geschrieben habe ich das Makro auf meinem Rechner, Office Professional Plus 2013, hier ist in der Formel eigentlich ein Semikolon, also REST(ZEILE();2)=0. Das funktioniert tadellos.
Auf dem Rechner eines Kollegen, selbes Office geht es nur wenn die Formel mit Komma, also
Selection.FormatConditions.add Type:=xlExpression, Formula1:= _
"=REST(ZEILE(),2)=0"
geschrieben ist.
Einziger Unterschied: ich habe auf meinem Rechner "." als Dezimaltrennzeichen, auf dem anderen ist "," eingestellt, das ist leider auch nicht änderbar.
Wenn ich meinen Rechner umstelle geht es aber auch nicht..
Gibt es hier eine Lösung um das Makro universal zu machen?
Vielen Dank
Georg
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Syntax-Problem auf verschiedenen Rechnern
31.08.2018 10:10:27
{Boris}
Hi,
Sub til()
If Application.DecimalSeparator = "," Then
MsgBox "Komma"
Else
MsgBox "Punkt"
End If
End Sub
Statt der Messageboxen trägst Du dann die Formeln entsprechend ein.
VG, Boris
Nicht Dezimaltrenner, sondern Listentrenner!
31.08.2018 11:31:54
EtoPHG
Hallo,
Das hat nichts mit dem Dezimaltrennzeichen zu tun, sondern mit dem Listentrennzeichen.
Hat dein Kollege zuällig eine englische Installation von XL ?
Gruess Hansueli
Anzeige
AW: Syntax-Problem auf verschiedenen Rechnern
31.08.2018 10:22:30
Daniel
Hi
Wenn der Code in verschiedenen Ländereinstellungen laufen soll, müsstest du so vorgehen:
1. Schreibe die Formel mit .Formula in internationaler Schreibweise in eine Zelle in einem Tabellenblatt (idealerweise ein leeres Dummyblatt, damit du die gleichen Zellen verwenden kannst und es keine Verwerfungen mit den Bezügen gibt)
2. lese dann die Formel in lokaler Schreibweise mit .FormulaLocal wieder aus und schreibe diesen Text in die Bedingte Formatierung.
Gruß Daniel
Anzeige
EtoPHG hat das Problem richtig erkannt, ...
31.08.2018 15:09:27
Luc:-?
…Georg;
wenn du nicht Daniels Extern-Vorschlag folgen kannst oder willst, musst du die einstellungs­abhängi­gen Werte halt ebenfalls variabel halten, was bei einem FmlText ja kein Problem wäre. Sinnvollerweise fragst du diese am PgmAnfang ab und weist sie Variablen zu. Vor Eintrag der Fml als BedFormat-Regel setzt du sie dann aus diesen Einzelteilen zusammen, hier bspw so:
regel = "=REST(ZEILE()" & liSep & "2)=0"
liSep ergibt sich dann so: liSep = Application.International(xlListSeparator)
Das ist dann immer der auf dem jeweiligen PC gültige.
Der xlDecimalSeparator wird erst interessant, wenn in der Regel-Fml direkt Dezimalzahlen eingetragen wdn, nicht aber bei Verweis auf eine Zelle, in der eine Dezimalzahl steht.
Verwendet der andere PC eine andere lokale Version von Xl, muss halt auch der ganze übrige FmlText variabel in diese übersetzt wdn, was dann am einfachsten mit Daniels Vorschlag erfolgt. (Es geht auch anders, aber das erfordert etwas größere Kenntnisse im Zusammenspiel von Xl und VBA.)
Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige