Andrzej W.

Andrzej W. Specjalista, Uniqa
TU SA

Temat: Udostępniony skoroszyt - jak sprawdzić którą komórkę...

Witam,
Wiem jak sprawdzić w VBA kto korzysta ze skoroszytu.
Potrzebuję jednak określić czy w tym samym czasie kilku użytkowników nie wchodzi sobie w drogę edytując w tym samym czasie tą samą komórkę.
Czy jest jakaś metoda, która pozwala to ustalić?
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Udostępniony skoroszyt - jak sprawdzić którą komórkę...

Metoda jest zaprogramowanie w oparciu o procedury zdarzeniowe w środowisku VBA edycji komórek pobierając do tego np nawę licencji, komputera bądź nazwę z domeny.
Dane to można zapisać w ukrytym arkuszu tego skoroszytu lub spiąć go z bazą zewnętrzną na która będą leciały informacje i z niem porównywane.

Jeśli jest to dla ciebie za trudny temat to w Excelu jest udostępnienie tylko pewnych obszarów, które mogą być przeznaczone dla zdefiniowanych użytkowników. Nigdy jednak nie miałem potrzeby z tego korzystać w praktyce, a z opisów problemów wiem że nie jest to idealne rozwiązanie.
Andrzej W.

Andrzej W. Specjalista, Uniqa
TU SA

Temat: Udostępniony skoroszyt - jak sprawdzić którą komórkę...

Jak dobrze rozumiem, wystarczy, że będę tworzył log przechowujący wynik ze zdarzenia Worksheet_SelectionChange każdego z użytkowników tzn. ostatnio wybrany wiersz i porównał wszystkie wpisy ze sobą.
Marzanna Szulta

Marzanna Szulta właściciel, Usługi
Informatyczne
SZULTASET

Temat: Udostępniony skoroszyt - jak sprawdzić którą komórkę...

Raczej nie Worksheet_SelectionChange tylko Worksheet_Change.
Andrzej W.

Andrzej W. Specjalista, Uniqa
TU SA

Temat: Udostępniony skoroszyt - jak sprawdzić którą komórkę...

Ale ten arkusz to słownik i gromadzi tylko dane i nie zawiera formuł które przeliczają cokolwiek.
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Udostępniony skoroszyt - jak sprawdzić którą komórkę...

No to jeszcze raz.
-Tworzysz skoroszyt jaki chcesz monitorować.
-W nim są przynajmniej 2 arkusze (lub modyfikujesz istniejący)
-Jeden odkryty w którym msza dane, drugi "bardzo ukryty" po to aby user nie widział go w arkuszach do odkrycia.
-W module odkrytego arkusza wstawiasz procedurę zdarzeniową pobierającą zmiany i wartości tych zmian wraz datą i nazwą użytkownika zapisujesz w analogicznej komórce dopisując do danych jakie już tam istniały (lub nie) tworząc listę.

Inny model to baza zewnętrzna
-Procedura zdarzeniowa pobiera dane data i użytkownik , adres komórki, wartość i zapisuje w bazie danych (serwera, plikowa baza typu CSV/TXT/ACC)

Tyle.
Sprawa prosta o ile wiesz o czym pisze. Jeśli nie to Google albo tematyczne forum i zgłębiaj temat.
Andrzej W.

Andrzej W. Specjalista, Uniqa
TU SA

Temat: Udostępniony skoroszyt - jak sprawdzić którą komórkę...

Moje stwierdzenie może niezbyt jasno odnosiło się do propozycji Marzanny Szulta .
Napisałem już kod i działa przy zdarzeniu Worksheet_SelectionChange.
W większości przypadków chodzi o to by osoby nie wpisywały w tym samym czasie danych w tym samym wierszu. Zmiany innych użytkowników widoczne są dopiero po zapianiu arkusza.
Odczuwam pewne spowolnienie arkusza ale ni e wiem czy to akurat wiąże się z kodem czy środowiskiem.
Dziękuję za przypomnienie o ukrywaniu bardziej arkusza.

Następna dyskusja:

Jak stworzyc nowy skoroszyt...




Wyślij zaproszenie do