Пем хотіла б розташувати вкладки своїх робочих аркушів за алфавітом. Це не команда в Excel, але за допомогою короткого макросу ви можете додати її на панель швидкого доступу.
Переглянути відео
- Пем хоче сортувати вкладки робочого аркуша за алфавітом
- Використовувати макрос в особистій книзі макросів
- Alt + T + M + S та змініть захист макросів, щоб дозволити макроси
- Запишіть макрос Hello World у особисту книгу макросів
- Введіть новий код до книги Personal Macro Workbook
- Призначте цей код кнопці QAT
Стенограма відео
Дізнайтеся Excel з подкасту, епізод 2084: Сортування вкладок робочого аркуша за алфавітом
Привіт, ласкаво просимо назад до трансляції, я Білл Джелен. Сьогоднішнє запитання від Пам: чи є спосіб розмістити вкладки робочого аркуша в алфавітному порядку? Ну, немає вбудованого способу зробити це, але ми могли б це зробити за допомогою макросу. А тепер, це макрос, який справді повинен бути в особистій книзі макросів, добре? Отже, якщо ви ніколи раніше не робили макросів, ми зробимо Alt + T для Тома та для Мері, S для Сем. І обов’язково перейдіть із пункту Вимкнути всі макроси без сповіщення на Вимкнення макросів із повідомленням.
Добре, тоді натисніть Alt + F8 і подивіться, чи є у вас макроси, обов’язково виберіть Макроси в: Усі відкриті книги. Якщо у вас немає нічого, що починається як PERSONAL.XLSB, вам потрібно виконати ці додаткові кроки. Якщо у вас вже є щось з PERSONAL.XLSB, тоді просто затримайтеся на секунду, добре?
Отже, ми вийдемо на вкладку Перегляд і запишемо новий макрос. Він буде називатися HelloWorld. Ні місця, ні простору. І ми збережемо макрос у Персональній книзі макросів, натисніть кнопку ОК. І просто введіть десь Hello World, ось так, а потім спуститесь сюди поруч із Ready і натисніть Stop. Добре, тепер це змусить вас мати особисту книгу з макросів. Добре, якщо ви ніколи раніше не використовували макроси, у вас їх може не бути.
На цьому етапі ми натискаємо клавіші Alt + F11, і якщо ви ніколи не використовували макроси, ви отримаєте цей сірий екран тут. Ми збираємося перейти до View, Project Explorer, і ми знайдемо новий PERSONAL.XLSB. Якщо у вас вже є модуль, який, звичайно, ви, звичайно, відкриєте модулі та двічі клацніть Модуль 1. Зараз у мене вже є кілька макросів у моїй особистій книзі макросів, але я збираюся сюди, щоб останній рядок, поставте пару пробілів.
Добре, тоді ви введете цей код, який я вставив. І ми поговоримо про цей макрос під час його запуску. Отже, я збираюся запускати його по одному рядку, натискаючи клавішу F8. І одна річ, яку я дізнався тут, - це закінчивши сортування, трохи збентежило опинитися на іншому аркуші, тому я пам’ятаю, на якому аркуші ми знаходимось, тому пізніше я можу вибрати його безпосередньо перед тим, як макрос буде зроблено.
Гаразд, ось ми. Повернемося до Excel, і ви побачите, що перший аркуш там називається Заголовок. Зараз ми знаходимося на аркуші під назвою Питання. Я хочу додати новий аркуш перед заголовком, тому ми робимо Worksheets.Add, а потім хочу перейменувати це. В даний час випускається в Sheet1 як TempSortSheet. Будьте обережні, це має бути ім’я, яке ви б ніколи не використовували. Мовляв, не називайте цей звіт про прибуток, добре? Просто використовуйте щось дуже випадкове, щоб, коли ми - ви натрапите на помилку, якщо у вас вже є аркуш під назвою TempSortSheet. І тоді я виявив, що я використовував цей Worksheet.Count знову і знову і знову, тому я просто поміщу його в змінну, як простіше сказати WSC, ніж Worksheets.Count пізніше. Отже, у нас є 150 аркушів, і у нас є список цих аркушів.
Гаразд, отже, ви вперше проходите цикл, де я переходжу від 1 до 250. Вперше через цикл до нашого нового аркуша, який ми додали, TempSortSheet, до рядка 1, стовпець 1, ми збираємося поставити значення, яке = =, на перший аркуш. Гаразд, і що це повинно бути, добре, так, TempSortSheet тут. Але я дозволю цьому ще кілька разів. Я натисну F8, і ви побачите, що ми отримуємо всі вкладки аркуша в тому порядку, в якому вони з'являються в книзі, і припускаю, що я починаю отримувати ті вкладки, які мають номери рахунків, добре. І я дозволю цьому запуститися, я не хочу натискати F8 300 разів. Отже, я натисну тут і перейду до налагодження, запуску до курсору, який є Ctrl + F8, який закінчить це. І ми бачимо, що у нас є список усіх 150 вкладкових аркушів.Це круто.
І ось тут ми використовуємо переваги Excel. У мережі є багато публікацій, зокрема на дошці оголошень, де вони насправді намагаються сортувати. Вони пишуть своє власне сортування для переміщення аркушів, і ми збираємося скористатися перевагами Excel тут, оскільки Excel має сортування, і я використовую код із Excel 2003. Мені подобається цей код, простіший для запам’ятовування. Я збираюся розпочати з А1, Змінити розмір до 150 клітинок, де я це сортую. Ключем буде А1. Ну, це єдине, що це могло бути. Порядок буде зростаючим, і обов’язково вкажіть, що є Заголовок, добре? Ми не хочемо, щоб наш TempSortSheet сортував дані. Гаразд, так там. БАМ! Це робить сортування, і нам не потрібно писати навколо коду сортування за допомогою міхура. І тоді ми підемо з рядка 2, який є A120,аркуш для переміщення - A120. Чому “”? Ааа, на випадок, якщо у вас є назва аркуша, як у нас на початку цього тижня, як аркуш із назвою 123, який заплутає Excel. А потім, куди ми його будемо переносити? Ми перейдемо до не Ряду 2, а після першого аркуша. Отже, MoveAfter стає 1. Отже, ми візьмемо наш аркуш під назвою A120 і перемістимо його після першого аркуша так, F8, і там він спрацював. Запустіть ці три рядки ще раз. A124 потрапляє в потрібне місце.збираємося взяти наш аркуш під назвою A120 і перемістити його після першого аркуша так, F8, і там він спрацював. Запустіть ці три рядки ще раз. A124 потрапляє в потрібне місце.збираємося взяти наш аркуш під назвою A120 і перемістити його після першого аркуша так, F8, і там він спрацював. Запустіть ці три рядки ще раз. A124 потрапляє в потрібне місце.
На даний момент, тепер ми знаємо, що це працює, ми можемо зробити Ctrl + F8, який виконує всі рухомі - 150 ходів щойно там сталося. А тепер я збираюся видалити оригінальний аркуш, який є нашим видаленим TempSortSheet. Але перед тим, як видалити його, я не хочу, щоб вони повідомляли тому, хто запускає код, що ми збираємось видалити аркуш. Отже, я просто видаляю його, а потім вибираю оригінальний аркуш і відображаю повідомлення про те, що книги були відсортовані так.
Гаразд, отже, тепер у нас є макрос, ми знаємо, що макрос працює, і він є в особистій книзі макросів, кілька речей, які ми хочемо зробити: Alt + F11 поверніться сюди і переконайтеся, що ви перебуваєте в особистому макросі книги, натисніть там і натисніть Зберегти. Якщо ви не збережете його зараз, пізніше, коли ви закриєте Excel, воно почне спалахувати це повідомлення про "Чи хочете ви зберегти зміни в PERSONAL.XLSB?" і ти повністю забудеш і не збережеш зміни, правда? Тому я завжди обов’язково зберігаю зміни, а потім Alt + Tab, де я налаштовую панель швидкого доступу, вибираю з макросів, знаходжу той, який називається SortSheets, додаю це на панель швидкого доступу. Мені не подобається блок-схема, тому ми будемо шукати щось із написами від А до Я, або ви знаєте, так що давайтеs скористайтеся цим і помістіть там невелику вкладку в Сортування таких аркушів, натисніть кнопку OK, натисніть кнопку OK.
Гаразд, ось ось тест. Вставлю нову книгу. Я зроблю кілька копій аркушів і розмістимо їх у дивній послідовності: Z, а потім Y, а потім M, а потім B, ось так. Натисніть Сортувати аркуші та BAM! Вони повернулися сюди у правильній послідовності. Як це круто.
Гаразд, тому сьогоднішній епізод, Пам хоче впорядкувати вкладки робочого аркуша за алфавітом. Оце Так! Ми використовували макрос. Спочатку змініть захист макросів і запишіть макрос Hello World у персональну книгу макросів, а потім введіть код у книзі Personal Macro Workbook і призначте це кнопці панелі швидкого доступу.
Я хочу подякувати Пем за це запитання. Я хочу подякувати вам, що завітали. Ми побачимось наступного разу для чергової трансляції від.
Завантажити файл
Завантажте зразок файлу тут: Podcast2084.xlsm