Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1640to1644
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

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

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
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige