Błąd po włączeniu ochrony arkusza

0

Zrobiłem plik obliczeniowy w excelu i problem w tym, że dopóki nie ochronię arkusza to wszystko działa, a jak ją właczę pojawiają się błędy jak na zdjęciach. Obliczenia są zrealizowane w większości przez funkcje arkuszowe, ale są również procedury w kodzie VBA i podejrzewam, że to kod VBA jest przyczyną. W jaki sposób można się pozbyć tych błędów ?

Zdjecie 1.jpgZdjecie 2.jpg

1

Ustaw Protect.UserInterfaceOnly na true

0

Umieściłem ten kod w poniższej procedurze i błąd już się nie pojawia, ale przeskakując po komórkach za każdym razem program na moment tak jakby zatrzymywał się i przetwarzał informacje. Może dlatego, że takich procedur mam 50 i w każdej umieściłem ten kod. Tak już będzie ?

Zdjecie 3.jpg

0
Szymon81 napisał(a):

Może dlatego, że takich procedur mam 50 i w każdej umieściłem ten kod. Tak już będzie ? !

To się naklepałeś trochę :-)
Umieść ten kod w module skoroszytu:

Private Sub Workbook_Open()
  Dim wks      As Worksheet

  For Each wks In ThisWorkbook.Worksheets
    wks.Protect Password:="Moje_hasło", _
                DrawingObjects:=True, _
                Contents:=True, _
                Scenarios:=True, _
                UserInterfaceOnly:=True
  Next wks
End Sub

W powyższym kodzie zakładam że ochronę specjalną zakładamy na każdy arkusz skoroszytu.
Oczywiście nic nie stoi na przeszkodzie, aby taką ochronę założyć na wybrane arkusze.
Pamiętaj że UserInterfaceOnly (czyli pozwolenia na zmiany w arkuszu kodem) niektórych rzeczy nie da się wykonać bez zastosowania Unprotect, Protect.

0

Zrobiłem tak i usunąłem linijkę " Protect UserInterfaceOnly:=True" z każdej z 50 procedur, ale znowu pojawia się ten sam błąd, o którym napisałem na początku.

0

Szymon ustawienie koloru fontu na pewno nie wywołuje wyżej wymiennego błędu.
Patrz załącznik.UserInterfaceOnly.xlsm

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.