Excel 2016 - sam zmienił domyśne formatowanie z ogólnego na walutowe w Euro

Anonimowe
2017-07-07T08:58:24+00:00

Witam.

Pracuję nad wielkimi (pod kątem ilości danych) plikami xlsm zawierającymi tabele z danymi oraz rożnego rodzaju tabele przestawne oraz makra obrabiające te dane.

Tabele są połączone ze źródłem danych w bazie Access.

I jakieś 2-3 tygodnie temu w tych plikach (jest ich 2, to nie jest kwestia jednego pliku) excel sam zmienił mi we wszystkich polach, które miały ustawione formatowanie ogólne (czyli te pola, które miały formatowanie domyślne) zmienił na "walutowe" z ustawieniem walut na "Euro"

(wiem, że ciężko w t uwierzyć, ale pracuje na tych plikach od 2 lat i nic na formatowaniu nie zmieniam)

Jak to mogło się stac i przede wszystkim jak to odkręcić???

Microsoft 365 i pakiet Office | Excel | Do użytku domowego | Windows

Pytanie zablokowane. To pytanie zostało zmigrowane ze społeczności pomocy technicznej firmy Microsoft. Możesz zagłosować, czy pytanie jest pomocne, ale nie możesz dodawać komentarzy ani odpowiedzi, ani też śledzić pytania.

Komentarze: 0 Brak komentarzy

Odpowiedzi: 21

Sortuj według: Najbardziej pomocne
  1. Oskar Shon 49,336 Punkty reputacji Moderator wolontariuszy
    2017-10-31T09:50:39+00:00

    Zastosowałeś olewajkę, dlatego nie mogłeś uchwycić błędu.

    On Error Resume Next

    Poza tym twoja procedura sprawa dostępne style, a nie zmienia jak przypuszczam, powinna, obecne inne style na Normal.

    Poniżej masz 2 procedury - pierwsza z myślą aby sprawdzić ile komórek miała inny styl

    Druga wymuszająca zmienię na wszystkich komórkach aktywnego zakresu komórek.

    Sub wstaw_styl_normal_sprawdzajac_ile_innych()

    Dim x As Integer: x = 0

    Dim wks As Worksheet: Set wks = ActiveSheet

    Dim c As Range, r As Range: Set r = wks.UsedRange

    For Each c In r

          If c.Style <> "Normal" Then x = x + 1: c.Style = "Normal"

    Next

    MsgBox "Zmieonono " & x & " komórek, ktore miały inny styl niż normal.", _

           vbInformation, "www.VBATools.pl"

    End Sub

    Sub wstaw_styl_normal()

    Dim wks As Worksheet: Set wks = ActiveSheet

    Dim r As Range: Set r = wks.UsedRange

    r.Style = "Normal"

    MsgBox "Zmieonono " & r.Count & " komórek, na styl normal.", _

           vbInformation, "www.VBATools.pl"

    End Sub

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  2. Anonimowe
    2017-10-31T07:24:05+00:00

    Fakt, nie potrzebne to jest.

    Dodałem na szybko jak mi wywalał błąd, że nie może usunąć stylu wiec dodałem na szybko zmienną, do której wrzucił nazwę stylu abym wiedział w trybie debugowania  na czym się zacina

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  3. Oskar Shon 49,336 Punkty reputacji Moderator wolontariuszy
    2017-10-30T18:15:59+00:00

    Co to jest w twoim kodzie: aaa ?

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  4. Anonimowe
    2017-10-30T07:30:06+00:00

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

    1. 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"

    1. Zapis arkusza i zamknięcie
    2. Uruchomienie i weryfikacja komórek ze skopanym formatowaniem (reset formatowania komórki + poprawienie na docelowy).

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  5. Anonimowe
    2017-08-17T12:57:04+00:00

    Ustawienia regionalne są OK, Mam PLN, zresztą wszystko jest identycznie jak na screenach (profilaktycznie zrobiłem reset ale nie przynisło to żadnych rezultatów)

    Szablonu nigdy nie stosowałem i nie mam ustawionych ani dla nowych plików ani dla tych, z którymi mam problem (wskazane pole jest puste)

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy