Strona 1 z 1

Filtrowanie i przeniesienie danych pomiędzy arkuszami

: wt lip 23, 2019 2:26 pm
autor: ortes
Witam. Na kodowaniu w LO znam się nie wiele dopiero zaczynam swoją poważną przygodę z LO Calc z powodu pozbawienia w pracy dostępu do MS Excela

Mam w arkuszu dane w formie tabelarycznej (max 1500 wierszy)

Id pracownika odpowiedzialnego|nr umowy|wartość umowy|okres obowiązywania umowy|data podpisania umowy|data zakończenia umowy

każdy id pracownika może ale nie musi występować kilkukrotnie, na pewno jest jedno wystąpienie.

W jaki sposób napisać makro które stworzy automatycznie arkusze dla wszystkich występujących w Arkusz1 identyfikatorów pracownika i przenieść lub skopiować do tych arkuszy dane o umowach osób z identyfikatorem którego nazwa to identyfikator pracownika?

Miałem to zrobione w Excelu ale w LibreOffice się wysypuje :)

Re: Filtrowanie i przeniesienie danych pomiędzy arkuszami

: sob lip 27, 2019 11:15 pm
autor: Jan_J
W pseudokodzie

nbw = 1 (numer bieżącego wiersza; tzn. wiersz drugi w kolejności; w pierwszym jest nagłówek)
pobierz id z kolumny nr 0 z wiersza nbw
dopóki id jest niepusty (tzn pętla while)
jeżeli nie istnieje arkusz o nazwie id, to go utwórz
nww = numer pierwszego wolnego wiersza w akuszu o nazwie id
wpisz do nww-tego wiersza akusza id po kolei wszystkie dane z kolumn wiersza nbw z pierwszego arkusza
zwiększ nbw o 1
pobierz id z kolumny nr 0 z bieżącego wiersza pierwszego arkusza
end while
zapisz skoroszyt

Szczegóły: AndrewMacro i OpenOffice Macros Explained A. Pitonyaka

Zastrzeżenie: po czym odróżnić, czy dana tabela została już przetworzona? może kopiować do osobnego skoroszytu, zakładanego od zera?

Zadanie nie jest szczególnie trudne. Daj krótki neutralny (tj. bez danych poufnych) przykład, spróbujemy coś uszczegółowić, gdyby w.w. pseudokod był jednak zbyt ogólny.