Ostatnio potrzebowałam wyświetlić w komórce nazwę arkusza. Chciałam to zrobić bez pisania funkcji w VBA. W tym artykule pokażę Wam co wymyśliłam.
Oto formatka:
Do wyświetlenia w komórce nazwy arkusza posłużę się funkcją KOMÓRKA(). W tym celu należy wpisać do komórki A3 następującą formułę:
=KOMÓRKA("nazwa_pliku";A1)
Formuła ta pobierze pełną ścieżkę dostępu do pliku, w którym jest wpisana, ale również pokaże nazwę arkusza, w którym znajduje się komórka A1, będąca drugim argumentem funkcji (oczywiście mogę odwołać się do dowolnej innej komórki w arkuszu, którego nazwę chcę poznać). Jeśli bym nie wpisała tego argumentu – funkcja zwróciłaby mi nazwę aktywnego arkusza. A oto wynik:
Rozumiem, że to Was nie satysfakcjonuje 😉 Mnie też nie. Na szczęście w bardzo łatwy sposób można wyciąć nazwę arkusza z wyniku powyższej formuły. Są na to dwa sposoby: łatwiejszy i trudniejszy. Oto one:
Sposób 1 – łatwiejszy
Wpisz w komórce B5 następującą formułę:
=FRAGMENT.TEKSTU(A3;SZUKAJ.TEKST("]";A3)+1;31)
Jako długość pobieranego tekstu przez funkcję FRAGMENT.TEKSTU() podałam 31, ponieważ jest to maksymalna długość, jaką może mieć nazwa arkusza. Jeśli nazwa ta będzie krótsza – i tak wyświetli się dobry wynik.
Sposób 2 – trudniejszy
Wycina tyle znaków, ile faktyczni ma nazwa arkusza. Wpisz w komórce B6 następującą formułę:
=FRAGMENT.TEKSTU(A3;SZUKAJ.TEKST("]";A3)+1;DŁ(A3)-SZUKAJ.TEKST("]";A3))
A oto wyniki obu sposobów:
Jak widać identyczne 😉
Gotowe!
kiedyś było mi to potrzebne ale przyznaję, ze poległem nie zrobiwszy tego. sposób rozwiązania bardzo ciekawy.
Cieszę się i mam nadzieję, że następnym razem się przyda 😉
można też uzyskać taki efekt za pomocą znajdowania i zamieniania tj. w polu znajdź *] a w polu zamień zostawiamy puste pole
Super pomysł – szybki i skuteczny. Dziękuję za komentarz!
Można też obydwie formuły połączyć.
Twój sposób 1:
=FRAGMENT.TEKSTU(KOMÓRKA(„nazwa_pliku”;A3);SZUKAJ.TEKST(„]”;KOMÓRKA(„nazwa_pliku”;A3))+1;31)
i drugi:
=FRAGMENT.TEKSTU(KOMÓRKA(„nazwa_pliku”;A3);SZUKAJ.TEKST(„]”;KOMÓRKA(„nazwa_pliku”;A3))+1;DŁ(KOMÓRKA(„nazwa_pliku”;A3))-SZUKAJ.TEKST(„]”;KOMÓRKA(„nazwa_pliku”;A3)))
Oczywiście, również zadziała 🙂
witam, działa świetnie. Ja mam tylko problem jak zrobiłem tą formułę w kilku arkuszach to przy odświeżaniu wszędzie jest nazwa odświeżanego ostatnio arkusza
Witaj Michał,
sprawdź proszę, czy do funkcji KOMÓRKA na pewno wpisałeś odwołanie do komórki z konkretnego arkusza? Ja tak zrobiłam (też mam kilka arkuszy, jak Ty) i „u mnie działa” 🙂 (kocham to stwierdzenie;)).
Pozdrawiam
Malina
Witam.
Naprawdę świetna stronka.
Skorzystałem już dwa razy.
Gratulacje i dzięki 😉
Super, dziękuję i bardzo się cieszę 🙂
Witam, można i tak:
=PRAWY(KOMÓRKA(„nazwa_pliku”);DŁ(KOMÓRKA(„nazwa_pliku”))-ZNAJDŹ(„]”;KOMÓRKA(„nazwa_pliku”)))
i ENTER 🙂
Pozdrawiam
Daniel
Super! Dziękuję za komentarz 🙂
Czy zna Pani metodę zmiany parametrów czcionki w nazwach arkuszy (MSExcel2003-2007)?
Niestety nie ;(
A można tak?
=FRAGMENT.TEKSTU(KOMÓRKA(„nazwa_pliku”;A1);SZUKAJ.TEKST(„]”;KOMÓRKA(„nazwa_pliku”;A1))+1;31)