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-31T12:34:14+00:00

    Może był przeprowadzony taki zabieg w którym wyeksportowano style wraz ze skoroszytem (albo np z szablonem). Ten zaś importuje je do aplikacji. Również życzył bym sobie jakiegoś komunikatu - "Czy chcesz użyć innych styli niż domyślne?"

    Ale skoro tak łatwo je określić, to chyba z przeniesieniem i zastosowaniem nie jest problem do czasu jeśli nie powstanie chaos - jak na twoim obrazku.

    Przerobiłem twój kod bez warunku na BuiltIn, ale skoro jest niepotrzebny to trudno:

    Sub usun_styl()

    Dim st As Style

    Dim x As Integer: x = 0

    On Error GoTo nast

    For Each st In ActiveWorkbook.Styles

        If nazwy_styli(st.Name) = False Then st.Delete: x = x + 1

    nast:

    Next

    MsgBox ("Deleted " & x & " styles")

    End Sub

    Function nazwy_styli(n) As Boolean

    Dim arr(): arr = Array("20% — akcent 1", "20% — akcent 2", "20% — akcent 3", _

                           "20% — akcent 4", "20% — akcent 5", "20% — akcent 6", _

                           "40% — akcent 1", "40% — akcent 2", "40% — akcent 3", _

                           "40% — akcent 4", "40% — akcent 5", "40% — akcent 6", _

                           "60% — akcent 1", "60% — akcent 2", "60% — akcent 3", _

                           "60% — akcent 4", "60% — akcent 5", "60% — akcent 6", _

                           "Akcent 1", "Akcent 2", "Akcent 3", "Akcent 4", "Akcent 5", _

                           "Akcent 6", "Dane wejściowe", "Dane wyjściowe", "Dobry", _

                           "Comma", "Comma [0]", "Komórka połączona", "Komórka zaznaczona", _

                           "Nagłówek 1", "Nagłówek 2", "Nagłówek 3", "Nagłówek 4", _

                           "Neutralny", "Normal", "Obliczenia", "Percent", "Suma", _

                           "Tekst objaśnienia", "Tekst ostrzeżenia", "Tytuł", "Uwaga", _

                           "Currency", "Currency [0]", "Zły")

    Dim z%

    For z = 0 To UBound(arr)

          If n = arr(z) Then nazwy_styli = True: Exit For

    Next

    End Function

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy