Pole listy zależnie od wybranej komórki

Użytkowanie arkusza kalkulacyjnego
krzys59
Posty: 78
Rejestracja: pt cze 19, 2009 2:59 pm

Pole listy zależnie od wybranej komórki

Post autor: krzys59 »

Próbuję rozwiązać następujący problem i poległem.
Mam arkusz w którym muszę wpisywać w kolejne kolumny dostępne w pracy osoby, na różnych stanowiskach.
Codziennie jest inny zestaw osób, na innych stanowiskach, spisane mam to w pomocniczych kolumnach. Pierwszy pomysł był taki, że zrobiłem pole wyboru ze spisem wszystkich ludzi i po kliknięciu na pozycję, mając wcześniej zaznaczoną komórkę, ta osoba jest tam wpisywana. Ale to nie zabezpiecza przed błędami, bo w każdym dniu jest dostępny inny zestaw ludzi. Jak w arkuszu mieć takie spisy to wiem.
Pytanie jest czy da się stworzyć jedną listę wyboru ale zmieniającą się przy zmianie kolumny (dnia)
Albo prościej mówiąc, wybieram komórkę z kolumny A i mam w liście wyboru Spis1, wybieram komórkę w kolumnie b i mam w liście wyboru Spis2 itd. Nie wiem jak zmienić odwołania we właściwościach formantu lista wyboru w zależności od wybranej kolumny. Jakiś pomysł na to? Średni mi się uśmiecha robienie tego makrem, coś tam umiem zrobić makrami, ale nie jestem w tym dobry.
Awatar użytkownika
Jermor
Posty: 2239
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Pole listy zależnie od wybranej komórki

Post autor: Jermor »

krzys59 pisze:Codziennie jest inny zestaw osób, na innych stanowiskach, spisane mam to w pomocniczych kolumnach.
Czy to znaczy, że masz 7 (tygodniowy), 30 (miesięczny) zestawów osób i są one przypisane do tych samych dni (w tygodniu, w miesiącu)? Czy działa to jakoś inaczej? Czy jest jakiś limit tych osób pracujących w danym dniu?
krzys59 pisze:Pytanie jest czy da się stworzyć jedną listę wyboru ale zmieniającą się przy zmianie kolumny (dnia)
Jeśli lista się zmienia to nie jest to jedna lista. Czy też ma to być odfiltrowana lista pracowników?
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
krzys59
Posty: 78
Rejestracja: pt cze 19, 2009 2:59 pm

Re: Pole listy zależnie od wybranej komórki

Post autor: krzys59 »

OK, widzę, że jednak poszedłem pewnym skrótem myślowym :D
Jest 30 osób w zespole, codziennie kogoś z zespołu nie ma, ma wolne, jest na urlopie, jest po dyżurze itd. Codziennie są to różne osoby z tego zespołu. Codzienny plan wymaga obsadzenie wielu stanowisk, ale codziennie różne osoby są na różnych stanowiskach. Stanowiska są te same, ale obsada różna.
Na podstawie rozpisu miesięcznego potrafię tak odfiltrować arkusz, że mam w osobnym arkuszu codzienny spis dostępnych osób. W kolejnych kolumnach są osoby dostępne
Chodzi o tworzenie rozpisu tygodniowego. Teraz mam tak zrobione, że mam listę wyboru w której kliknięcie na nazwisku powoduje wstawienie tego nazwiska w uprzednio wybraną komórkę. Niestety w tej liście ma cały czas wszystkie osoby i bywają błędy powtórzeń, wpisania osób które mają być nieobecne,
Pomyślałem sobie, czy jest możliwość stworzenia takiej listy wyboru, która będzie zależna od tego jaka komórka będzie wybrana do wpisania. TO znaczy jedna lista wyboru dynamicznie zmieniająca się przy wybraniu kolejnej kolumny. Dynamicznie zmieniający się adres do źródła listy. Mam nadzieję, że trochę wyjaśniłem w czym problem.
Awatar użytkownika
Jermor
Posty: 2239
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Pole listy zależnie od wybranej komórki

Post autor: Jermor »

Dla pewności jeszcze raz się upewnię:
krzys59 pisze:... że mam w osobnym arkuszu codzienny spis dostępnych osób. W kolejnych kolumnach są osoby dostępne
Rozumiem to tak, że w kolumnie np. "poniedziałek" mam listę osób dostępnych w poniedziałek i z tej listy wybieram konkretne osoby. W kolumnie obok mam listę dostępnych osób we wtorek, itd. dla pozostałych dni. Te listy są wynikiem odfiltrowania rozpisu miesięcznego.

Ponadto po wybraniu komórki powinienem móc wybrać jedno z dostępnych nazwisk, tak aby pojawiło się w tej komórce. Czy dobrze to zrozumiałem?
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
krzys59
Posty: 78
Rejestracja: pt cze 19, 2009 2:59 pm

Re: Pole listy zależnie od wybranej komórki

Post autor: krzys59 »

Tak, ale jeszcze uściślę.
Kolumna Poniedziałek, od 1 do 30 to miejsce na wpisanie ludzi a poniżej, powiedzmy od wiersza 100 odfiltrowani dostępni ludzie, tak samo Wtorek, Środa itd
I myślałem o jednej liście wyboru której zawartość jest zależna od wybranej kolumny. Czyli klikam na komórkę w kolumnie A i lista jest poniedziałkowa, klikam na komórkę w kolumnie wtorek i lista jest wtorkowa itd
Zupełnie nie wiem jak dynamicznie zmieniać adres odwołania pola listy w jej właściwościach, pewnie przez makro to się da zrobić, ale wolałbym uniknąć takiego rozwiązania
Awatar użytkownika
Jermor
Posty: 2239
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Pole listy zależnie od wybranej komórki

Post autor: Jermor »

Zatem moja propozycja jest następująca:
Do wybierania składu załogi wykorzystana zostanie właściwość sprawdzania poprawności danych. (Dane -> Poprawność danych...)
Na potrzebę wyjaśnienia zasady działania utworzyłem trzy arkusze. Pierwszy to ostateczny grafik, w którym wybiera się osoby wybierając je z listy osób przypisanych do dnia. Grafik zawiera siedem dni tygodnia. Każda komórka arkusza ma status sprawdzania poprawności zgodnej z listą.
Drugi to wykaz dostępnych osób dla danego dnia, tutaj dla każdego dnia tygodnia.
Trzeci to arkusz list ukazujących się jako lista wyboru w pierwszym arkuszu. Ten arkusz jest kopią arkusza drugiego w tym sensie, że każdej pozycji osoby w arkuszu drugim odpowiada ta sama osoba w arkuszu trzecim, przy czym nazwisko w arkuszu pojawia się w wyniku działania pewnej formuły. Działa ona następująco: Jeżeli nazwisko osoby z arkusza drugiego zostało umieszczone w grafiku na arkuszu pierwszym, to w odpowiadającej pozycji w arkuszu trzecim komórka jest pusta. Jeśli to nazwisko nie zostało wstawione do grafiku, to w odpowiadającej pozycji arkusza trzeciego znajduje się to nazwisko. Dzięki takiemu działaniu w arkuszu trzecim znajdują się tylko te nazwiska, które nie zostały jeszcze wpisane do grafiku a to oznacza, że np. gdy w poniedziałek w jednej z komórek wstawiono Kowalskiego, to w żadnej komórce następnej po rozwinięciu listy to nazwisko nie będzie już dostępne. Jest to arkusz techniczny, więc nie trzeba się specjalnie przejmować jego postacią. W szczególności może być ukryty.
Przykład zawiera możliwości dla 35. osób. W arkuszu trzecim, każdy zakres nazwisk w kolumnie ma przypisaną nazwę dnia tygodnia, umieszczoną nad tym zakresem, i ta nazwa jest wykorzystana jako zakres komórek potrzebnych w sprawdzaniu poprawności danych.
Podsumowując: do arkusza drugiego można wpisać dowolne nazwiska w każdym dniu. Te nazwiska pojawia się na liście wyboru tych dni, w których zostały umieszczone, przy czym można je wykorzystać tylko raz.
Acha, jeszcze jedno. Nie wykorzystywałem formantu bo wówczas nie obeszłoby się od makra.
A tutaj przykład działania:
Załączniki
zmiany.ods
(23.15 KiB) Pobrany 179 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
krzys59
Posty: 78
Rejestracja: pt cze 19, 2009 2:59 pm

Re: Pole listy zależnie od wybranej komórki

Post autor: krzys59 »

Jermor pisze:Zatem moja propozycja jest następująca:
Mistrzu, jestem Twoim dłużnikiem. Nie pomyślałem o takim rozwiązaniu, zafiksowałem się na liście wyboru.
Dzięki wielkie za pomoc. Kilka problemów rozwiązanych w prosty sposób.
ODPOWIEDZ