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

Ungewollte Formatänderung

Ungewollte Formatänderung
Fettertiger
Hallo liebe Ex(el)perten,
ich stosse in letzter Zeit immer häufiger auf ein Problem, dass ich mir nicht so richtig erklären kann.
In einigen meiner Tools, die zum Teil seit Monaten problemlos funktionierten, bleiben die Macros hängen. Es stellt sich dann heraus, dass sich fast alle "Nummern-Zellen" im Workbook in Datumsformate "verwandelt" hatten. Kurioserweise handelt es sich dabei auch um Zellen in Bereichen die vom Macro gar nicht angesprochen werden.
Ich habe mir zwar jetzt einen Workaround gebastelt (ein Macro das beim Start durch alle Arbeitsblätter geht und das Zellenformat auf "Number" zurücksetzt), aber ich würde lieber die Ursache in den Griff bekommen, als an den Symptomen herumzudoktern.
Die Macros in den Arbeitsmappen sind leider vieeeeeeel zu komplex als das ich sie hier reinzustellen wage :-)
Ich vermute auch eine mehr "generelle" Ursache. Hat jemand von Euch eine Idee?
Danke und Gruss
Fettertiger

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Ungewollte Formatänderung
04.11.2010 14:29:47
Klaus
Hallo Fettertiger,
wir sprechen uns hier gerne mit Vornamen an. Falls du sehr fiese Eltern hast, entschuldige ich mich im Vorwege.
Da nur sehr wenige deine Makros sehen, bleiben nur Vermutungen. Ich halte mal fest: Ein Zellenbereich, der von einem Makro nicht angesprochen wurde, wird bei Makroausführung nicht verändert. Daher tippe ich mal, dass dir irgendwo ein ".cells" ins Makro gerutscht ist von dem du gar nichts weisst.
Was die Komplexität der Makros angeht: Stell halt rein. Wenns keiner blickt, bekommst du halt keine Antwort - hast aber auch keinen Schaden.
Oder willst du dir die Standpauken "verzichte auf select und activate" ersparen? ;-)
Grüße,
Klaus M.vdT.
Anzeige
AW: Ungewollte Formatänderung
04.11.2010 15:03:00
Fettertiger
Hallo Klaus,
ja, ich habe fiese Eltern - zwar nicht so fies dass sie mich "Fettertiger" getauft hätten, aber doch schlimme genug dass ich lieber Fettertiger als Kevin - Kunibert genannt werde :-)
Alle Macros kann ich hier wirklich nicht reinstellen, zum einen weil sich dann die Mitbewerber meines (sehr bekannten) Arbeitgebers freuen könnten, und zum andern weil ich dann wahrscheinlich die nächsten 10 Tage damit zubringe die Tools erst einmal zu erklären. Die Standpauke wegen select und activate habe ich mir schon vor zwei Jahren abgeholt und versuche es seitdem tunlichst zu vermeiden.
Da der Fehler aber in verschiedenen Dateien auftaucht habe ich mal nach gemeinsamkeiten gesucht.
Es gibt tatsächlich eine Funktion die in beiden Dateien verwendet wird. Die Funktion hat mir mal "Franz (FCS)" in diesem Forum gebaut. Unter https://www.herber.de/forum/archiv/1164to1168/t1166053.htm steht was die eigentlich genau macht.
Function SAP_Zahl_To_Number(sZahl As String, _
Optional SAP1000er As String = ",", _
Optional SAPdezi As String = ".") As Double
Dim sValue As String, sDezi As String
sValue = Application.WorksheetFunction.Substitute(sZahl, SAP1000er, "")
Select Case Application.International(xlCountrySetting)
Case 32, 33, 34, 43, 49 'Deu-DE,span-E, Deu-AT, franz.-F
sDezi = ","
Case 1, 41, 44 'US, Deu-CH, UK
sDezi = "."
Case Else
sDezi = ","
End Select
sValue = Application.WorksheetFunction.Substitute(sValue, SAPdezi, sDezi)
If IsNumeric(sValue) Then
SAP_Zahl_To_Number = CDbl(sValue)
Else
SAP_Zahl_To_Number = 0
End If
End Function
Gruss
Kevin-Kunibert (Fettertiger)
Anzeige
übersteigt meine Kentnisse! Autor Franz (FCS) da ?
04.11.2010 15:44:19
Klaus
Hi KK,
ich habe ehrlich gesagt keine Ahnung was da passiert in diesem Makro, darum habe ich den Thread mal mit einem neuen Betreff auf offen gestellt.
Was ich sehe, ist dass die Ländereinstellungen global verändert werden,
Case Application.International(xlCountrySetting)
Ich gehe davon aus, dass du irgendwo eine Zahl wie 7,5 stehen hast. Durch das ändern der Ländereinstellung wird daraus 7.5, und das ist für Excel eben der siebte Mai, was dann eben ein Datum wird.
Wie man das verhindert? Keine Ahnung, sorry. Viel Erfolg beim Bugfixen mit Forumsteilnehmern, die hoffentlich versierter sind als ich!
Grüße,
Klaus M.vdT.
(gegen die Kurzform von Nikolaus hab ich nichts, aber meinen Nachnamen könnte ich auch gerne eintauschen)
Anzeige
AW: Ungewollte Formatänderung
04.11.2010 19:24:40
fcs
Hallo Kevin,
das kann eigentlich nicht durch die benutzerdefinierte Funktion verursacht sein.
Die Funktion gibt als Ergebnis der Textauswertung eine Zahl oder 0 zurück.
Wahrscheinlicher ist, dass manuell oder per Makro Daten in Zellen eingetragen werden, die keine Zahlen sind und in den aktuellen Systemeinstellungen als Kurzschreibweise eines Datums interpretiert werden. Gleichzeitig wird dabei zumindest in Excel 2007 das Format "Standard" geändert in "Datum" oder "ein benutzerdefiniertes Datumsformat". Ob das auch in den älteren Excelverisonen so ist? Ich weiss es nicht.
1.1 wird 01.01.2010 und dargestellt als 01. Jan
1.12.9 wird 01.12.2009 und dargestellt als 01.12.09
Eine andere Möglichkeit wäre dass falsche Formate von Zellen/Spalten kopiert wurden. Erst beim Eintragen von Daten werden diese dann sichtbar.
Die einzige Möglichkeit, dem selbstädigen Formatieren von Excel entgegen zu steuern besteht darin -wie bereits von dir beschrieben- die Zellen in dem gewünschten Zahlenformat zu formatieren. Sinnvoller Weise sollte man dann wenn möglich immer gleich die kompletten Spalten formatieren.
Gruß
Franz
Anzeige
AW: Ungewollte Formatänderung
04.11.2010 19:27:47
Fettertiger
Hallo zusammen,
jetzt wo ich das Prolem kenne, werde ich mir dann eben weiterhin mit meiner "Krücke" helfen.
Danke fürs Nachforschen
Fettertiger

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige