Dzień dobry, szukam sposobu (nie makro) na wyświetlenie w komórce A1 nazwy arkusza, którego nr pojawia się w komórce B1.
B1=2, A1 zwraca nazwę "Arkusz3"
B1=0, A1 zwraca nazwę "Arkusz1"
B1=5, A1 zwraca nazwę "Arkusz6"
proszę o pomoc, pozdrawiam.
[solved] nazwy arkuszy
[solved] nazwy arkuszy
Ostatnio zmieniony pn lis 12, 2018 8:50 pm przez babiniec4, łącznie zmieniany 1 raz.
Apache OpenOffice 4.1.5 na Windows 10
Re: nazwy arkuszy
Kod: Zaznacz cały
="Arkusz"&(B1+1)
AOO 4.1.15, LO 24.8.2 (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.
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.
Re: nazwy arkuszy
Dziękuję za zainteresowanie... Arkusz 1,3,6 to nazwy przykładowe, mi chodzi o właściwe nazwy arkuszy.
Jeśli do skoroszytu dodam kolejny arkusz i nadam mu nazwę (i odwrotnie) to w komórce B1 nastąpi zmiana nr. Chciałbym żeby w komórce A1 pojawiła się konkretna nazwa arkusza odpowiednia dla liczby w komórce B1.
Pewnie to musi być jakaś napisana funkcja...
Jeśli do skoroszytu dodam kolejny arkusz i nadam mu nazwę (i odwrotnie) to w komórce B1 nastąpi zmiana nr. Chciałbym żeby w komórce A1 pojawiła się konkretna nazwa arkusza odpowiednia dla liczby w komórce B1.
Pewnie to musi być jakaś napisana funkcja...
Apache OpenOffice 4.1.5 na Windows 10
Re: [solved] nazwy arkuszy
odpowiedź znalazłem tutaj na forum...
function ark_nazwa(numer as integer)
on error goto koniec
ark_nazwa = thisComponent.Sheets.getByIndex(numer).name
koniec:
end function
function ark_nazwa(numer as integer)
on error goto koniec
ark_nazwa = thisComponent.Sheets.getByIndex(numer).name
koniec:
end function
Apache OpenOffice 4.1.5 na Windows 10
Re: [solved] nazwy arkuszy
Ok. Jednak jest to makro. A twoim założeniem było to aby to nie było makro. Co do procedury-funkcji rozbudowałem ją o jeden wiersz, tak aby po podaniu niepoprawnego numeru arkusza pojawiała się odpowiedź "Nie ma takiego arkusza". Ta poprawiona funkcja jest w załączniku.
Rozwiązanie bez własnej funkcji jest nieco pokrętne, no i ma pewne niedogodności ale przedstawiam je także w załączniku.
Niedogodności to:
Rozwiązanie bez własnej funkcji jest nieco pokrętne, no i ma pewne niedogodności ale przedstawiam je także w załączniku.
Niedogodności to:
- Konieczność utworzenia wykazu wszystkich arkuszy w skoroszycie.
Tu użyłem funkcji KOMÓRKA, która zwraca bezwzględny adres pierwszej komórki w każdym arkuszu.
Na podstawie wyniku tej komórki mogę otrzymać numer arkusza, funkcja ARKUSZ z wykorzystaniem funkcji ADR.POŚR.
W trzeciej kolumnie obszaru funkcja MID (w LibreOffice FRAGMENT.TEKSU) wyekstrahuje nazwę arkusza. - Dla arkusza, w którym ten wykaz został utworzony funkcja KOMÓRKA zwraca tylko adres bezwzględny komórki, bez nazwy arkusza. Jeśli ten arkusz także ma podlegać procedurze, trzeba to dodatkowo rozwiązać.
- Po zmianie nazwy arkusza funkcja KOMÓRKA podaje cały czas poprzednią nazwę, mimo, że argument tej funkcji wskazuje odwołanie już do nowej nazwy arkusza. Aby wymusić poprawne działanie należy zapisać skoroszyt a następnie załadować go ponownie.
- Dodanie nowego arkusza wymaga ręcznego uzupełnienia wykazu arkuszy.
- Załączniki
-
- arkusze.ods
- (11.86 KiB) Pobrany 226 razy
AOO 4.1.15, LO 24.8.2 (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.
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.