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

Excel Ländereinstellungen

Excel Ländereinstellungen
Joachim
Hallo,
ich habe mal eine ungewöhnliche Frage, vielleicht hat der eine oder andere vorher schon mal damit zu tun.
In einer Excel Mappe lasse ich folgenden Code laufen:
For Each c In .Range("AD2:AD222")
If Not IsNumeric(c) Then
MsgBox "Cell " & c.Address & " : Number expected but text string found."
End
End If
Next
Wenn sich in der Spalte ein nicht erkennbares Datum befindet, dann mekert das Makro, passt soweit.
Alle Einträge sind aber Datum, darum kein meckern. passt auch.
Nun habe ich das Problem
ich habe das gleiche Makro (gleiche Excelversion) mit genau den gleichen Daten in AD einem Kollegen nach China geschickt :-)
Wenn er das Makro ausführt meldet sich gleich das Makro und meint in AD2 ein Eintrag gefunden zu haben, der KEIN Datum ist. es steht aber tätsächlich ein richtiges Datum drin. Zumindest sieht es auf den ersten Blick so au´s.
Mit was könnte das zu tun haben ? Reagieren unsere Makros in China anders ? :-)
Hat jemand von Euch schon mal mit Formatproblemen Ausland zu tun gehabt ?
Danke mal für Eure Tips
Joachim
AW: Excel Ländereinstellungen
15.04.2010 15:17:39
Hajo_Zi
Hallo Joachim,
Du schreibst
Zumindest sieht es auf den ersten Blick so au´s.
Überprüfe es mit Typ() in Deutschland.

wie meinst du das mit (Typ) owT
15.04.2010 15:22:34
Joachim
AW: wie meinst du das mit (Typ) owT
15.04.2010 15:26:37
Hajo_Zi
Halo Joachim,
Excel hat auch eine Hilfe.
=Typ(a1), 1 = Zahl, 2 ist Text
Gruß Hajo
AW: wie meinst du das mit (Typ)
15.04.2010 15:31:26
Joachim
Hallo Hajo,
ah Danke, also bei mir kommt das Ergebnis als 2 raus. Demnach wäre es ja ein text. wenn ich das format der zelle aber anschaue, ist es als datum formatiert.
was mache ich da ?
Danke
Joachim
Anzeige
AW: wie meinst du das mit (Typ)
15.04.2010 15:34:11
Hajo_Zi
Hallo Jochamin,
Text kannst Du formatieren wie Du willst es bleibt Text. Da hilft nur
Multiplikation mit 1
Schreibe eine 1 in eine Zelle, diese Zelle kopieren, markiere Deinen Bereich, rechte Maustaste, Inhalte einfügen, im Dialog auswählen Multiplikation und ok
oder
Daten, Text in Spalten
Gruß Hajo
AW: Excel Ländereinstellungen
15.04.2010 15:41:30
firmus
Hi Joachim,
vermutlich hat das nichts mit dem Datentyp zu tun, sondern mit der Ländereinstellung.
Beispiel: 1.234,56 Euro aber 4.567,89 us$ (Komma und Punkt sind hier anderst genutzt).
Entsprechend erkennt (mind. US) den Punkt als dezimal-punkt, wir erkennen das komma als dez.komma.
Die Abfrage über TYP kann dabei helfen, ABER
wenn Du Kommas gesetzt hast, dann wird in US nicht als TYP numeric erkannt.
Abhilfe-1: Temporäre Umstellung der Ländereinstellung (falls nur selten genutzt)
Abhilfe-2: Umstellung des VBA-Codes auf auf Länderspezifische Prüfung.
d.h. Ländercode-Variable abfragen und unterschiedliche Prüfwerte verwenden.
Hoffe das hilft Dir weiter.
Gruß
Firmus
Anzeige
AW: Excel Ländereinstellungen
15.04.2010 15:53:29
Hajo_Zi
Hallo Unbekannter,
die Übersetzung Punkt und Komma erfolgt automatisch.
Gruß Hajo
AW: Excel Ländereinstellungen
15.04.2010 15:59:19
firmus
Hi Hajo,
bzgl. der Anzeige hast Du recht. Aber wenn es die Dateninhalte betrifft, dann gibt es sehr tricki Verhaltensweisen von xls.
Gruß
firmus
ps: warum die Anrede "unbekannter"?
(arbeite in einem US Unternehmen mit deutschen Niederlassungen - stark IT-bezogen, LEIDER weiß ich hier wovon ich rede)
AW: Excel Ländereinstellungen
15.04.2010 16:03:00
Hajo_Zi
Hallo Unbekannte(r),
Zur Anrede schaue hier und in die Regeln des Forums.
Gruß Hajo
Anzeige
AW: @Hajo: Excel Ländereinstellungen
15.04.2010 17:55:14
firmus
Hi Hajo,
ich denke ich kann den Sachverhalt aufklären.
Schau mal unter: http://de.wikipedia.org/wiki/Firmus
Gruß
Firmus
AW: Excel Ländereinstellungen
15.04.2010 15:57:03
Joachim
Hi Firmus
ich bin mir da mit der Ländereinstellung nicht so sicher. Ich habe mein Makro auch schon in vielen anderen Ländern gahabt, nirgend wo gab es Probleme, überall hat es funktioniert. Es gab nur 5 , bei denen es nicht ging.
Darum frage ich mich immer noch, warum kommt bei mir nicht der Fehler. bei mir ergab die Typ Prüfung doch auch TEXT und das Makro hat trotzdem nicht gemeckert.
Gruss
joachim
Anzeige
AW: Excel Ländereinstellungen
15.04.2010 16:04:31
Tino
Hallo,
versuch mal dies.
entweder
If Not IsDate(c) Then
oder
If Not IsNumeric(c.Value2) then
Gruß Tino
AW: Excel Ländereinstellungen
15.04.2010 16:13:14
Joachim
Hallo Tino,
Danke. ich werte es mal beim Chinesen prüfen :-)
was ändert sich bei der Abfrage (c.Value2)
Was wird da anders abgefragt ?
Gruss
Joachim
AW: Excel Ländereinstellungen
15.04.2010 16:43:06
Tino
Hallo,
Value2 gibt den tatsächlichen Zellwert der Zelle zurück ohne Formatberücksichtigung.
z. Bsp. Zelle ist Datum: 15.04.2010 Value2 gibt 40283 zurück.
Gruß Tino
AW: Excel Ländereinstellungen
15.04.2010 16:50:29
joachim
danke mal tino, ich werde es testen.
Gruss joachim
Anzeige
AW: Excel Ländereinstellungen
21.04.2010 09:36:48
Joachim
Hallo ,
ich habe heute mit den Chinesen telefoniert. Der Fehler kam leider wieder, auch mit (c.Value2) . Die betroffene Zelle war als Standard formatiert, trotzdem meldet mein Makro, es sein keine Zahl !?!?!
(es stehen aber wirklich nur Zahlen in der zelle drin)
Komischerweise hat der Trick mit dem multiplizieren auch nicht funktioniert. ich wollte den Zellinhalt über "Inhalt einfügen" mit 1 multiplizieren um daraus eine Zahl zu machen, da schreibt aber excel anstatt zB 40283 (bei 15.04.2010) nur eine 1 rein.
Ein Datum mit 1 multpliziert ergibt als Ergebnis auch eine 1.
Kann sich da jemand einen Reim drauf machen, oder gibt es noch andere Prüfmöglichkeiten ?
Danke.
Joachim
Anzeige
keine Ahnung... (Frage offen)
21.04.2010 09:54:42
Tino
Hallo,
also ich kann mir keinen Reim drauf machen,
es sei denn in China werden andere Datum- oder/und Zahlen- Formate verwendet.
Gruß Tino
AW: keine Ahnung... (Frage offen)
21.04.2010 10:06:02
Joachim
Hi Tino,
mir kommt da noch eine Idee: in der besagten Spalte , die geprüft wird, steht überall ein Datum drin. bevor diese Spalte geprüft wird, werden noch andere Spalten mit
If Not IsNumeric(c) Then..
..
..
End if
überprüft. in diesen anderen Spalten stehen aber wirklich nur Zahlen drin, also es sind zB Mengenangaben oder Geldbeträge. Da meckert das Makro mit der gleichen Abfrage nicht. Nur wenn es das erste mal an eine Spalte geht, wo ein Datum drin steht (21.04.2010 Format = Standard) dann meldet sich das Makro.
Meine Frage dazu: macht es ein Unterschied, ob ich eine Zelle mit If Not IsNumeric oder mit If Not IsDate abfrage.
Mekert das Makro vielleicht, weil in der Zelle ein Datum steht und ich mit If Not IsNumeric abfrage ?
Nur so ein Gedanke
Gruss
Joachim
Anzeige
es gibt schon Unterschiede.
21.04.2010 10:32:54
Tino
Hallo,
wenn Du z. Bsp. ein Datum als Text vorliegen hast, ist die Prüfung mit IsDate und IsNumeric = Wahr.
Hast Du eine Zahl als Text vorliegen, ist IsDate = Falsch und IsNumeric = Wahr.
Die Textzahl müsstest Du erst wieder mit Cdate() in ein Datum umwandeln.
Daher Schlussfolgere ich, dass man mit IsNumeric auch ein Datum prüfen kann, weil ja ein Datum in Excel auch nur eine Zahl ist, wenn es aber auch auf die Formatierung ankommt sollte wieder IsDate verwendet werden.
Kannst ja mal selbst etwas rumspielen.
Sub test()
Dim strText$
strText = "21.04.2010"
MsgBox "IsDate: " & IsDate(CDate(strText)) & vbCr & _
"IsNumeric: " & IsNumeric(strText)
End Sub
Gruß Tino
Anzeige
ich würde die Prüfung so machen.
21.04.2010 10:55:22
Tino
Hallo,
entweder
If Not IsNumeric(Range("A1").Value2) Then
oder
If Not IsDate(Range("A1").Value) Then
Gruß Tino
AW: ich würde die Prüfung so machen.
21.04.2010 11:05:17
Joachim
Hallo Tino,
ich habe Daten von dem Kollegen vor Ort hier bei mir. Die Mappe sieht ganau so aus, wie ich e serwarten würde. Wenn ich den Code bei mir ausführe
If Not IsNumeric(c) Then...
msg...
dann ist alles in Ordung. Der Code akzeptiert die die Zelle (21.04.201.0) als Zahl und es kommt keine Meldung. den gleiche Code dort vor Ort ausgeführt, meldet sich die msgbox, da das Makro den inhalt nicht als If Not IsNumeric ansieht.
Ich werde mal deinen neuen Vorschlag testen. melde mich wieder.
Danke
Gruss
Anzeige
ein Vorschlag, keine Lösung
21.04.2010 10:01:52
Tino
Hallo,
lass Dir doch mal eine Exceldatei zukommen,
wo der Chinese in ein bar Zellen Datumswerte eingibt so wie es in China üblich ist
und schau mit Deiner Excelversion was eventuell anders ist.
Vielleicht kommst Du so dahinter was in China anders läuft.
Gruß Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige