Note: The other languages of the website are Google-translated. Back to English
Zaloguj Się  \/ 
x
or
x
Zarejestruj się  \/ 
x

or

Jak odwołać się do arkusza roboczego według numeru indeksu zamiast nazwy w programie Excel?

W przypadku wielu użytkowników programu Excel mają tendencję do zmiany nazwy domyślnej nazwy arkusza na potrzebną. Ale w wielu przypadkach muszą odwoływać się do arkusza na podstawie jego numeru indeksu, a nie prawdziwej nazwy. Jak to osiągnąć? Możesz wypróbować metodę w artykule.

Arkusz referencyjny według numeru indeksu zamiast nazwy z funkcją zdefiniowaną przez użytkownika


Arkusz referencyjny według numeru indeksu zamiast nazwy z funkcją zdefiniowaną przez użytkownika


Wykonaj następujące czynności, aby odwołać się do arkusza roboczego według numeru indeksu zamiast nazwy w programie Excel.

1. naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie skopiuj i wklej poniższy kod VBA do okna Module.

Kod VBA: Arkusz referencyjny według numeru indeksu w programie Excel

Function SHEETNAME(number As Long) As String
    SHEETNAME = Sheets(number).Name
End Function

3. wciśnij inny + Q klucze do zamknięcia Microsoft Visual Basic for Applications okno.

Uwagi:

1. Jeśli chcesz odwołać się do określonej nazwy arkusza za pomocą jego numeru, wybierz pustą komórkę i wprowadź formułę = NAZWA ARKUSZA (1) bezpośrednio do paska formuły, a następnie naciśnij klawisz Enter. Zobacz zrzut ekranu:

2. Jeśli chcesz pobrać wartość komórki z arkusza na podstawie jej numeru indeksu, użyj tej formuły.

=INDIRECT("'"&SHEETNAME(1) &"'!A1")

3. Jeśli chcesz zsumować określoną kolumnę w arkuszu na podstawie jej numeru indeksu, zastosuj tę formułę.

=SUM(INDIRECT("'"&SHEETNAME(1) &"'!C2:C7"))


Powiązane artykuły:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2019 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowy bezpłatny okres próbny. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszą każdego dnia!
officetab dół
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jork · 6 months ago
    If you use this UDF, I'd suggest Making two changes in bold below, with notes on why.

    Function SHEETNAME(number As Long) As String
    Application.Volatile <--------- this makes the function recalculate when you change the sheets name. Otherwise when you change the sheet name it doesn't change unless you perform a manual recalculation.----------
    SHEETNAME = Thisworkbook.Sheets(number).Name <------ If you use this function in multiple workbooks, it will only check names of the workbook the function is in. Otherwise this function will potentially call the tab names from other open Workbooks with this formula.-------
    End Function
  • To post as a guest, your comment is unpublished.
    Kjeld · 4 years ago
    Nice solution.
    Also, referencing cell B4 of the first sheet in another Excel file can be done like this:
    =INDIRECT("'[other_filename.xlsx]"&SHEETNAME(1) &"'!B4")

    However note that the file containing the VBA script needs to be stored as a macro file, .xlsm

    Cheers,