adres arkusza
adres arkusza
Witam,
mam dokument z kilkuset (!) arkuszami, które dodatkowo nazwałem COSTAM1, COSTAM5, INNE6 itd.
Na pierwszym arkuszu, chce zrobić zestawienie, które pokazuje kilka kolumn:
nazwa arkusza, stan, cena końcowa
Co do "stan" i "cena końcowa" - to łatwe, stosuję np =Arkusz2.C6 i już
a co z "nazwa arkusza" - czy "zakładki", czyli arkusze mają jakiś adres ?
Dodatkowo, Mając np w tym pierwszy arkuszu kilka wierszy =Arkusz2.C6, =Arkusz3.C6, =Arkusz4.C7 itd. - zaznaczam te 3 , przeciągam znacznik krzyżyka, żeby mi automatycznie stworzyło 150 takich wpisów, ale niestety, zamiast Arkusz5, 6, 7, calc mi tylko potwarza arkusz2,3,4 i znow 2,3,4.
nie wiem jak sobie z tymi 2 problemami poradzic.
bede wdzieczny za wskazowki,
Qlex
mam dokument z kilkuset (!) arkuszami, które dodatkowo nazwałem COSTAM1, COSTAM5, INNE6 itd.
Na pierwszym arkuszu, chce zrobić zestawienie, które pokazuje kilka kolumn:
nazwa arkusza, stan, cena końcowa
Co do "stan" i "cena końcowa" - to łatwe, stosuję np =Arkusz2.C6 i już
a co z "nazwa arkusza" - czy "zakładki", czyli arkusze mają jakiś adres ?
Dodatkowo, Mając np w tym pierwszy arkuszu kilka wierszy =Arkusz2.C6, =Arkusz3.C6, =Arkusz4.C7 itd. - zaznaczam te 3 , przeciągam znacznik krzyżyka, żeby mi automatycznie stworzyło 150 takich wpisów, ale niestety, zamiast Arkusz5, 6, 7, calc mi tylko potwarza arkusz2,3,4 i znow 2,3,4.
nie wiem jak sobie z tymi 2 problemami poradzic.
bede wdzieczny za wskazowki,
Qlex
OpenOffice 3.0 / Windows Vista
Re: adres arkusza
Co to znaczy ,,i już''? podawać *ręcznie* adres ze 150 arkuszy, za każdym razem inny?qlex pisze: Co do "stan" i "cena końcowa" - to łatwe, stosuję np =Arkusz2.C6 i już
a co z "nazwa arkusza" - czy "zakładki", czyli arkusze mają jakiś adres?
Arkusze mają numer -- zależny od aktualnej pozycji na liście zakładek, oraz nazwę, którą widać w zakładce.
Tak możesz zrobić z tekstami, ale nie z fragmentami adresów. Adresy arkuszy będą się przesuwać w miarę kopiowania formuły ,,w głąb'' -- czyli z arkusza na arkusz, w trzecim wymiarze.Dodatkowo, Mając np w tym pierwszy arkuszu kilka wierszy =Arkusz2.C6, =Arkusz3.C6, =Arkusz4.C7 itd. - zaznaczam te 3 , przeciągam znacznik
Wypróbuj to:
Kod: Zaznacz cały
sub podsumowanie()
doc = thisComponent
' wstaw nowy arkusz na początek
doc.Sheets.insertNewByName("Podsumowanie", 0)
' pamiętaj go w programie jako ark
ark = doc.Sheets.getByIndex(0)
' przejrzyj arkusze od drugiego do końca
for i = 1 to doc.Sheets.Count-1
' pobierz jego nazwę
nazwa = doc.Sheets.getByIndex(i).Name
' wpisz formułę do pierwszego arkusza
ark.getCellByPosition(0,i).Formula = "=$" & nazwa & ".$C$6"
next i
' koniec
end sub
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: adres arkusza
JJ, dzięki za wskazówki.
Właśnie, chodzi mi o nazwę, którą widać w zakładce.
Czy jest możliwość, żeby tą nazwę wyświetlić w wybranej komórce, przy zastosowaniu jakiejś funkcji ?
co do kodu, rozumiem ze to makro, ale nie za bardzo wiem "jak sie to je" ?
Tzn, mam utworzyc takie makro i potem je uruchomic ?
Qlex
Właśnie, chodzi mi o nazwę, którą widać w zakładce.
Czy jest możliwość, żeby tą nazwę wyświetlić w wybranej komórce, przy zastosowaniu jakiejś funkcji ?
co do kodu, rozumiem ze to makro, ale nie za bardzo wiem "jak sie to je" ?
Tzn, mam utworzyc takie makro i potem je uruchomic ?
Qlex
OpenOffice 3.0 / Windows Vista
Re: adres arkusza
Tak.
W ,,użytkowym'' podejściu do Calca nie ma związku między numerem arkusza (= stronicy) a jego nazwą.
Numer wiersza zmieniasz w formule przeciągając/kopiują ,,w dół'', kolumny -- ,,w bok'' zaś arkusza ,,w głąb''.
Makro to jedyny sposób, by skutecznie zarządzać taką strukturą jaką zrobiłeś. Można by jeszcze użyć aresowania pośredniego, ale i tak pozostanie problem, jak wygenerować nazwy arkuszy w kolejności.
Narzędzia/Makra/Zarządzaj/(wybierz na drzewie albo Moje Makra, albo nazwę swojego skoroszytu)/Nowy/(wklej kod z postu). Potem użyj Uruchom.
Prościutkie podesłane makro zrobi ci nowy arkusz (numer 1) z kolumną formuł pobierających wartość c6 z każdego arkusza. Jeżeli są to różne komórki dla poszczególnych stron to można by pomyśleć, jak je wykrywać.
W ,,użytkowym'' podejściu do Calca nie ma związku między numerem arkusza (= stronicy) a jego nazwą.
Numer wiersza zmieniasz w formule przeciągając/kopiują ,,w dół'', kolumny -- ,,w bok'' zaś arkusza ,,w głąb''.
Makro to jedyny sposób, by skutecznie zarządzać taką strukturą jaką zrobiłeś. Można by jeszcze użyć aresowania pośredniego, ale i tak pozostanie problem, jak wygenerować nazwy arkuszy w kolejności.
Narzędzia/Makra/Zarządzaj/(wybierz na drzewie albo Moje Makra, albo nazwę swojego skoroszytu)/Nowy/(wklej kod z postu). Potem użyj Uruchom.
Prościutkie podesłane makro zrobi ci nowy arkusz (numer 1) z kolumną formuł pobierających wartość c6 z każdego arkusza. Jeżeli są to różne komórki dla poszczególnych stron to można by pomyśleć, jak je wykrywać.
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: adres arkusza
Dzięki WIELKIE!!!
też szukałem właśnie czegoś takiego.... działa super
też szukałem właśnie czegoś takiego.... działa super
OOo 3.1.1, Kubuntu
Re: adres arkusza
Drobny komentarz:
jest funkcja "arkusz", która zwraca numer arkusza np.
=ARKUSZ(Arkusz2.A1)
zwraca wartość "2"
Aż się prosi żeby napisać funkcję
"WART.ARK.NR(adres_komórki, numer_arkusza)"
zwracająca zawartość wybranej komórki.
jest funkcja "arkusz", która zwraca numer arkusza np.
=ARKUSZ(Arkusz2.A1)
zwraca wartość "2"
Aż się prosi żeby napisać funkcję
"WART.ARK.NR(adres_komórki, numer_arkusza)"
zwracająca zawartość wybranej komórki.
OOo3.1.1 na Ubuntu 9.04
Re: adres arkusza
Faktycznie, aż dziw, że nie ma jej w standardzie.
Taką funkcję o nagłówku (nrStrony, nrKolumny, nrWiersza) niby łatwo napisać, ale ponieważ jej argumenty nie są adresami komórek, tylko liczbami, nie są brane pod uwagę w ,,kaskadzie zależności'' przy automatycznym przeliczaniu arkusza.
Taką funkcję o nagłówku (nrStrony, nrKolumny, nrWiersza) niby łatwo napisać, ale ponieważ jej argumenty nie są adresami komórek, tylko liczbami, nie są brane pod uwagę w ,,kaskadzie zależności'' przy automatycznym przeliczaniu arkusza.
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: adres arkusza
Jeśli to takie użyteczne, postuluje o dodanie stosownego zgłoszenia do IssueZilli. 

Standardowa diagnostyka rozwiązuje 90% problemów typu "wcześniej działało, ale już nie działa".
Przepis na LibreOffice
Uzyskałeś pomoc? Poinformuj innych o sprawdzonym rozwiązaniu i podziękuj. Dodaj [SOLVED] w tytule.
Przepis na LibreOffice
Uzyskałeś pomoc? Poinformuj innych o sprawdzonym rozwiązaniu i podziękuj. Dodaj [SOLVED] w tytule.
Re: adres arkusza
Właściwie wystarczy takie makro
Funkcji BASICa można używać w komórkach jak funkcji arkusza.
Przykładowe użycie w załączniku.
PS
W przypadku różnych nazw arkuszy można odwoływać się do ich zakresu podając pierwszy i ostatni np.
Kod: Zaznacz cały
function ark_nazwa(numer as integer)
if numer > thisComponent.sheets.count or numer < 1 then
ark_nazwa = "błąd"
else
ark_nazwa = thisComponent.Sheets.getByIndex(numer-1).name
end if
end function
Przykładowe użycie w załączniku.
PS
W przypadku różnych nazw arkuszy można odwoływać się do ich zakresu podając pierwszy i ostatni np.
Kod: Zaznacz cały
=SUMA(arkusz_pierwszy.A1:ostatni.A1)
- Załączniki
-
- nazwa_ark_z_indeksu.ods
- (10.66 KiB) Pobrany 472 razy
OOo3.1.1 na Ubuntu 9.04