Jakie znaki są dozwolone w nazwie arkusza - wskazówki dotyczące programu Excel

Spisie treści

Nazwy arkuszy można zmienić na prawie wszystko. To jest * prawie * część, która jest dla mnie niejasna. Istnieje kilka znaków, które nie są dozwolone na karcie arkusza. Ale jak ustalasz, jakie to postacie? Dziś pokażę ci, jak to zrobić.

Jednym z moich najpopularniejszych filmów w YouTube jest podcast nr 1505 - numer następnej faktury. Pamiętam, jak 20 lat temu pobrałem szablon faktury z firmy Microsoft i byłem rozczarowany, że w szablonie nie było nic, co zwiększałoby numer faktury po każdym zapisie. Sześć lat temu nagrałem krótkie wideo z kilkoma wierszami kodu VBA, aby zaktualizować numer faktury przy każdym zapisie. 222 000 wyświetleń później pozostaje moim numerem 1.

Trzy razy w tygodniu kontaktuje się ze mną ktoś, kto chce zmienić makro, aby zrobić coś innego. W zeszłym tygodniu ktoś mi powiedział, że mój kod powoduje błąd 1004. Zawsze trudno jest rozwiązać problem bez przeglądania skoroszytu. Wiersz kodu, który generował błąd, był wierszem, który zmienił nazwę arkusza na wartość przechowywaną w komórce E5.

Oto jak sobie przypominam, które postacie są nielegalne. Wykonaj następujące kroki:

  1. Naciśnij klawisze Ctrl + N, aby otworzyć nowy skoroszyt programu Excel
  2. Formuła w A1 to =ROW(). Skopiuj do A1: A255. To szybko daje liczby od 1 do 255
  3. Formuła w B1 to =CHAR(A1). Skopiuj do B1: B255. To daje 255 znaków ASCII. W wierszu 65 zobaczysz wielką literę A.
  4. Naciśnij alt = "" + F11, aby otworzyć VBA. Z menu VBA wybierz Wstaw moduł. Skopiuj następujący kod do VBA.

    Sub CheckAll() On Error Resume Next For i = 1 To 255 Err.Clear ActiveSheet.Name = "A" & Cells(i, 2).Value Cells(i, 3).Value = Err.Number Next i End Sub
  5. Kliknij w dowolnym miejscu makra. Naciśnij klawisz F5, aby uruchomić. Zajmie to tylko kilka sekund. Naciśnij alt = "" + Q, aby zamknąć i wrócić do programu Excel. Makro próbowało nazwać arkusz przy użyciu 255 różnych nazw. Kolumna C pokazuje kod błędu po każdej próbie. Zero jest dobre. 1004 jest zły.
  6. Byłoby miło dodać kilka nagłówków, aby można było filtrować. Skopiuj A1: C255. Wklej jako wartości. Wstaw nowy wiersz 1 z nagłówkami Code, Character, Name
  7. Włącz filtr. Otwórz menu w C1. Odznacz wszystko z błędem 0. Pozostałe 9 wierszy pokazuje błąd 1004.

Jak widać na poniższym obrazku, 9 znaków * / :? () to te, których nie można użyć w nazwie arkusza. (Są to apostrof, gwiazdka, ukośnik, dwukropek, znak zapytania, lewy nawias kwadratowy, ukośnik odwrotny, prawy nawias kwadratowy).

9 znaków widocznych w kolumnie B spowoduje wyświetlenie błędu 1004, jeśli spróbujesz użyć ich w nazwie arkusza.

Wróciłem do osoby na YouTube i zapytałem, czy komórka E5 zawiera datę w formacie MM / DD / RRRR. Po zmianie na WS.Name =Format(Range("E5").Value,"MM-DD-YYYY")data zawiera myślniki zamiast ukośników i kod zadziałał.

Oto wyjaśnienie ważnych części kodu:

  • Wznowienie błędu Dalej informuje program Excel, aby nie zatrzymywał makra w przypadku napotkania błędu. Err.Number i Err.Description będą dostępne po napotkaniu błędu.
  • Err.Clear czyści wszystkie poprzednie błędy z poprzedniego czasu w pętli.

Nawiasem mówiąc, zawsze fascynuje mnie, które znaki * są * legalne w nazwie arkusza. Poniższy rysunek to=CHAR(3)&CHAR(6)&CHAR(7)&CHAR(6)&CHAR(4)

Użyj ActiveSheet.Name = ActiveCell.Value

W każdy piątek będę pisać o debugowaniu podejrzanego zachowania w Excelu.

Myśl dnia Excela

Poprosiłem moich znajomych z programu Excel Master o radę dotyczącą programu Excel. Dzisiejsza myśl do rozważenia:

„Nie wszystkie kolory w programie Excel są przeznaczone do rzeczywistego użytku”.

Mike Alexander

Interesujące artykuły...