Ці макроси допоможуть вам закрити всі відкриті файли Excel, залишивши лише поточний файл.
Вибирайте будь-який з них - вони мало чим відрізняються.
Перший залишає відкритою тільки активну книгу, незалежно від того, з якого файлу запущений цей макрос:
Другий макрос залишає відкритою тільки ту книгу, з якої запущений цей самий макрос, незалежно від того, яка книга активна на момент запуску:
Третя версія макросу відрізняється від першої лише тим, що всі файли закриваються зі збереженням змін:
(Перший макрос в цьому випадку видає діалогове вікно - зберігати файл, чи ні)
Ну і четвертий варіант - теж закриває всі відкриті файли, тільки зміни в цих файлах не зберігаються:
Тімон, я ж вам сказав, - з цим конкретним макросом все в порядку.
У ньому не може бути помилок, якщо поруч з цим макросом чи не написати який-небудь код, який з ним буде конфліктувати.
чи можна отримувати не імена відкритих книг, а імена відкритих файлів Excel
а чим, на вашу думку, відрізняється книга від файлу?
якщо щось відкрито в Excel, - то це об'єкт Workbook (книга Excel)
Зверніться на форуми по Excel, прикріпіть там свій файл, - тоді вам підкажуть, у чому проблема.
У цьому конкретному макросе, - помилок немає.
Поміняв, і знову вилазить помилка type mismatch із зазначенням що wb = nothing. Взагалі мета така, що при запуску певного файлу excel всі відкриті файли повинні закритися і зберегтися, якщо зміни не збережені. може потрібно код винести на кнопку, раз при відкритті книги він не спрацьовує?
з кодом все в порядку (у себе перевірив, - все працює)
можу порекомендувати тільки замінити ActiveWorkbook на ThisWorkbook
можете спробувати ще поміняти