Які символи є законними в назві робочого аркуша - Поради Excel

Зміст

Назви робочих аркушів можна змінити майже на будь-що. Це * майже * частина, яка для мене нечітка. На вкладці робочого аркуша є кілька символів, які заборонені. Але як зрозуміти, якими вони є? Сьогодні я покажу вам, як.

Одне з моїх найпопулярніших відео на YouTube - це Podcast # 1505 - Номер наступної накладної. Я пам’ятаю, як 20 років тому завантажив шаблон рахунку-фактури від Microsoft і був розчарований тим, що в шаблоні не було нічого для збільшення номера рахунку-фактури після кожного збереження. Шість років тому я записав коротке відео з кількома рядками коду VBA, щоб оновити номер рахунку при кожному збереженні. 222000 переглядів пізніше, це залишається моїм відео №1.

Три рази на тиждень до мене звертається хтось, хто хоче змінити макрос, щоб зробити щось інше. Минулого тижня хтось сказав мені, що мій код видає їм помилку 1004. Завжди важко усунути неполадки, не побачивши книги. Рядок коду, який викликав помилку, був рядком, який перейменовав аркуш на значення, що зберігається в комірці E5.

Ось як я нагадую собі, які персонажі є незаконними. Виконайте такі дії:

  1. Натисніть Ctrl + N, щоб отримати нову книгу Excel
  2. Формула в А1 є =ROW(). Скопіюйте до A1: A255. Це швидко дає вам цифри від 1 до 255
  3. Формула в B1 є =CHAR(A1). Скопіюйте до B1: B255. Це дає вам 255 символів ASCII. Ви помітите велике A в рядку 65.
  4. Натисніть alt = "" + F11, щоб відкрити VBA. У меню VBA виберіть Вставити модуль. Скопіюйте наступний код у 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. Клацніть де завгодно всередині макросу. Натисніть F5 для запуску. Це займе лише кілька секунд. Натисніть alt = "" + Q, щоб закрити та повернутися до Excel. Макрос спробував назвати аркуш 255 різними іменами. У колонці C відображається код помилки після кожної спроби. Нуль - це добре. 1004 - це погано.
  6. Було б непогано додати кілька заголовків, щоб можна було фільтрувати. Копія A1: C255. Вставити як значення. Вставте новий рядок 1 із заголовками Код, Символ, Ім'я
  7. Увімкніть фільтр. Відкрийте спадне меню в C1. Зніміть що-небудь із помилкою 0. Решта 9 рядків відображають помилку 1004.

Як ви можете бачити на зображенні нижче, 9 символів '* / :? () - це ті, які не можна використовувати в назві робочого аркуша. (Це апостроф, зірочка, коса риса, двокрапка, знак запитання, ліва квадратна дужка, зворотна коса риса, права квадратна дужка.)

9 символів, видимих ​​у стовпці B, видадуть помилку 1004, якщо ви спробуєте використати їх у назві робочого аркуша.

Я повернувся до людини на YouTube і запитав, чи містить клітинка E5 дату у форматі ММ / ДД / РРРР. Змінившись на WS.Name, =Format(Range("E5").Value,"MM-DD-YYYY")дата містить тире замість косої риски і код спрацював.

Ось пояснення важливих частин коду:

  • У розділі "Оновлення помилок" Далі повідомляє Excel не зупиняти макрос, коли виникає помилка. Номер Err.Number та Err.Description будуть доступні після виявлення помилки.
  • Err.Clear видаляє будь-яку попередню помилку з попереднього часу через цикл.

До речі, мене завжди зачаровує, які символи * є * законними в назві робочого аркуша. На малюнку нижче=CHAR(3)&CHAR(6)&CHAR(7)&CHAR(6)&CHAR(4)

Використовуйте ActiveSheet.Name = ActiveCell.Value

Кожної п’ятниці я буду писати про налагодження рибної поведінки в Excel.

Думка дня в Excel

Я попросив своїх друзів Excel Master порадити їх щодо Excel. Сьогоднішня думка поміркувати:

"Не всі кольори в Excel призначені для реального використання."

Майк Олександр

Цікаві статті...