Jak wyłączyć opcję ukrywania wierszy / kolumn we współdzielonym pliku Excel za pomocą vba?

1

Mam udostępniony plik Excel, z którego potrzebuję wielu osób do pracy jednocześnie. Plik zawiera niektóre makra, które ukrywają niektóre kolumny na podstawie nazwy użytkownika.

  • 1) sprawdź nazwę użytkownika
  • 2) ukryj kolumny A, B, C (dla określonych użytkowników)

Gdy kolumny zostaną ukryte dla „ograniczonego” użytkownika, nie chcę, aby użytkownik mógł odkryć kolumny, klikając prawym przyciskiem myszy i wybierając opcję „odkryj”. Naprawdę nie mogę chronić / nie chronić arkusza za pomocą makra (->, ponieważ jest to plik udostępniony. Wydaje mi się, że generuje błąd 1004). Ochrona arkusza za pomocą pasków narzędzi Excela również nie będzie działać (ukrywanie / odkrywanie arkuszy w makrach nie działa na arkuszach chronionych).

Podsumowując:

Plik współdzielony -> niezabezpieczony arkusz (prb: użytkownicy mogą odkryć ukryte kolumny)

Plik współdzielony -> arkusz chroniony (prb: nie można ukryć kolumn za pomocą makra)

Więc myślę, że nie potrzebuję ochrony arkusza. Chcę się tylko upewnić, że gdy kolumny zostaną ukryte, użytkownik nie będzie mógł ich odkryć. Jakieś pomysły, jak to zrobić?

Być może wyłącz kontrolę użytkownika lub coś takiego. Nie znam się na VBA.

Wszelkie wskazówki lub sugestie będą mile widziane.

Dziękuję Ci!

Vasek
źródło
jeśli możesz zachować te dane na innych arkuszach, możesz użyć, .visible=xlVeryHiddenaby ukryć arkusz przed ukrywaniem w menu prawego przycisku myszy
SeanC

Odpowiedzi:

0

@Sean wspomniał o umieszczeniu ukrytych danych na innym arkuszu, co również było moją pierwszą myślą.

Drugą moją myślą było posiadanie makra z automatycznym otwieraniem, które sprawdza bieżącego użytkownika i ukrywa kolumny, a następnie włącza ochronę. Nie jest to najbezpieczniejsze, ponieważ kod VBA będzie wymagał hasła, ale omija inne problemy. Możesz także chronić kod, co zmniejszy problem osadzania hasła.

W przeszłości, kiedy miałem skomplikowany skoroszyt z częściami, które musiały być ukryte, miałem kilka makr w pliku personal.xls, które pomagały blokować / odblokowywać i ukrywać / odkrywać odpowiednie części.

Julian Knight
źródło