Panie Oskarze znalazłem przyczynę.
Po analizie różnorakich wpisów na forach zagranicznych znalazłem podobne problemy ludzi (zarówno z Excel 2003, 2007, 2010 itp)
Głownie mieli problem, że ogólne zamieniał im na formatowanie daty.
Problem lezy w modyfikacji Stylów.
I się zgadza. U mnie było ponad 800 stylów komórek niestandardowych, i wbudowana miała zmieniony typ formatowania (i nazywały się normalny. walutowy i liczbowy.
Tylko jedno mnie zastanawia. JAK ONE POWSTAŁY? Nikt nie ma dostępu do tych plików. Ja nie dodawałem żadnych spisów.
W kodzie VBA używam formatowania komórek, ale wg tego co "nasłuchałem" rejestratorem
Columns("AW:AY").Select
Selection.Style = "Currency"
Selection.NumberFormat = "#,##0.00 $"
Selection.NumberFormat = _
"_-* #,##0.00 [$zł-415]_-;-* #,##0.00 [$zł-415]_-;_-* ""-""?? [$zł-415]_-;_-@_-"
Columns("AJ:AJ").Select
Selection.Style = "Percent"
Selection.NumberFormat = "0.00%"
Columns("AT:AT").Select
Selection.NumberFormat = "General"
zapuściłem ten kod w pętli na nowym, pustym arkuszu zmiany formatowania i nie zaobserwowałem aby dodał mi nowe style.
Ma Pan albo może ktoś inny pomysł skąd mogło się to wziąć?
Dla osób z podobnym problemem oto jak naprawić:
- usunąć niestandardowe style (kod ze strony wsprarcia MS przerobiony przeze mnie w celu omniecia blokady usunięcia stylu o nazwie "Normal", który trzeba niestety ręcznie wywalić)
Sub usun_styl()
Dim st As Style
Dim x As Integer
On Error Resume Next
x = 0
For Each st In ActiveWorkbook.Styles
If st.BuiltIn = False Then
st.Locked = False
aaa = st.Name
st.Delete
x = x + 1
End If
Next
On Error GoTo 0
MsgBox ("Deleted " & x & " styles")
End Sub
2. Naprawa stylu "Normalny"
- Zapis arkusza i zamknięcie
- Uruchomienie i weryfikacja komórek ze skopanym formatowaniem (reset formatowania komórki + poprawienie na docelowy).