Mam skomplikowany arkusz kalkulacyjny Google z wieloma arkuszami i spisem treści. Czy istnieje sposób na utworzenie łącza do nazw arkuszy, aby jednym kliknięciem przejść bezpośrednio do arkusza? To znaczy: kliknięcie komórki „arkusz5” przełącza na arkusz5?
google-sheets
google-apps-script
JBWhitmore
źródło
źródło
Odpowiedzi:
Po przełączeniu się na inny arkusz w Arkuszach kalkulacyjnych Google zwróć uwagę na adres URL w pasku adresu przeglądarki. Na końcu adresu URL powinieneś zobaczyć coś takiego:
Liczba ta zmienia się po przełączeniu arkuszy i określa, który arkusz ma zostać wyświetlony. Skopiuj cały adres URL i utwórz do niego hiperłącze za pomocą tej formuły:
Ze skryptem
Dużo myślałem o tym pytaniu, odkąd po raz pierwszy napisałem tę odpowiedź, i wymyśliłem rozwiązanie obejmujące skrypt.
Z otwartym arkuszu kalkulacyjnym, kliknij Narzędzia menu, a następnie edytor skryptów ... . Wklej cały ten kod do edytora:
Zapisz skrypt, a następnie odśwież arkusz kalkulacyjny. Po sekundzie czy dwóch pojawi się nowe menu, Zadania , po Pomocy . W tym menu jest jeden element: Przejdź do arkusza ...
Ta pozycja menu otworzy panel z listą nazw wszystkich arkuszy w bieżącym arkuszu kalkulacyjnym. Nie wygląda to tak, ale jeśli klikniesz jedną z nazw arkuszy, arkusz ten pojawi się na początku.
W odpowiedzi na inne pytanie skrypt został ulepszony o przewijalny widok i przyciski.
źródło
gid=7
.gid=7
, powinien to być ósmy arkusz od lewej.gid
jest Sheet5, tylko ręcznie. Jeśli zmienia się pozycja,gid
zmienia się i nie można już niezawodnie z nią linkować.Z mojego doświadczenia najlepiej to zrobić, aby powiązać funkcję z przyciskiem / obrazem. Jedyną wadą jest to, że nie można przekazać parametrów wraz ze skryptem przypisanym do przycisku. Z tego powodu musisz utworzyć funkcję specyficzną dla każdej nawigacji, ale mogą one być wywoływane w jednym pliku skryptu.
Kroki:
Utwórz obraz (Wstaw -> obraz) i stylizuj go według własnych preferencji
Utwórz niestandardową funkcję za pomocą:
a następnie funkcja specyficzna dla twojego przycisku
Na koniec przypisz tę funkcję do przycisku
Powinieneś być teraz w stanie kliknąć przycisk i przejść do „Arkusza5”. Można to również zmodyfikować, aby przejść również do określonego obszaru arkusza.
źródło
var sheet = ss.getSheetByName(ss.getActiveCell().getValue());
- możesz następnie umieścić „przycisk” na stałym miejscu na ekranie i oznacz go „Przejdź do arkusza w bieżącej komórce” i przypisz mu „showSheetByName” (który teraz nie wymaga parametru). Aby użyć, po prostu podświetl komórkę nazwą arkusza (np. Arkusz5) i kliknij przycisk. Jest to trochę pośrednie, ale działa, ponieważ kliknięcie przycisku nie usuwa fokusa z podświetlonej komórki.