Nazywanie arkusza jako wartość komórki docelowej - porady dotyczące programu Excel

David pyta:

Jak mogę zmienić tylko nazwę arkusza roboczego, z tekstem znajdującym się w komórce A1.

Użyj tego makra:

Public Sub RenameSheet() NewName = Range("A1").Value ActiveSheet.Name = NewName End Sub

Chris pobrał darmowy dodatek Microsoft, aby znaleźć i usunąć łącza do innych skoroszytów. Działało dobrze, ale potem zaczął otrzymywać komunikat o błędzie: „Rutynowy kod błędu lokalizacji: 2”. Nie mogłem nic znaleźć w witrynie Microsoftu, ale niemieckojęzyczna tablica ogłoszeń programu Excel wspomniała o podobnym problemie. Bez odpowiedzi Microsoftu trudno powiedzieć, dlaczego dzieje się tak na niektórych komputerach, a na innych nie. Jeśli zauważysz, że masz ten problem, odinstaluj dodatek w oknie dialogowym Narzędzia> Dodatki.

Main napisał, aby zapytać, czy istnieje skrót klawiaturowy do przechodzenia do innych kart w skoroszycie. Zawsze używam Ctrl + PgUp, aby przejść do karty po lewej stronie bieżącego arkusza i Ctrl + Pgdn, aby przejść do karty po prawej stronie.

Paweł pyta:

Mam na przykład na poniższy link: =Sheet2!$B$4. Czy można zmienić nazwę arkusza (Arkusz2) np. Odwołując się do komórki z nazwą arkusza?

Paul - =INDIRECT()funkcja powinna ci w tym pomóc. Wszędzie tam, gdzie normalnie wpisujesz odwołanie do komórki, możesz użyć funkcji pośredniej. Wewnątrz nawiasów można użyć znaków konkatenacji, aby zbudować prawidłowe odwołanie do komórki. Na przykład w komórce E4 wpisałem „Arkusz2”. W innej komórce wpisałem następującą formułę:

=INDIRECT(E4&"!B4")

Formuła poprawnie zwróciła zawartość komórki B4 w arkuszu Sheet2. Wadą korzystania z tej metody jest to, że ponieważ argument B4 jest tekstem, program Excel nie zaktualizuje tej formuły, jeśli kiedykolwiek wytniesz i wkleisz B4 w nowej lokalizacji.

Aktualizacja grudzień 2003:

Podziękowania dla Sai Prasad, który napisał ulepszenie tej formuły, które można skopiować:

=INDIRECT($A$2&"!"&ADDRESS(ROW(),COLUMN()))

Aktualizacja z marca 2005 r

Podziękowania dla Francisco Sandovala, który napisał z tym ulepszeniem:

=INDIRECT(ADDRESS(ROW(),COLUMN(),4,1,$A$2))

Gdzie trzecia zmienna w tym przypadku to 4, odnosi się do komórki (bezwzględna, względna itp.), A czwarta zmienna (A1 vs L1C1)

To wszystko na dziś - mam dużo pracy konsultingowej do wykonania. Przepraszam wszystkich, którym nie miałem czasu odpowiedzieć. Jeśli nie znalazłeś odpowiedzi na swoje pytanie, spróbuj opublikować je na tablicy ogłoszeń - wielu lojalnych czytelników pomaga w zadawaniu pytań na tablicy - jest to świetny sposób na szybkie uzyskanie odpowiedzi.

Interesujące artykuły...