Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2014, 09:49   #1
horpenst
Пользователь
 
Регистрация: 07.03.2011
Сообщений: 40
По умолчанию создать несколько файлов одним макросом

Здравствуйте!

Подскажите, можно ли написать макрос с циклом, который будет создавать новый файл с другим именем каждый раз при прохождении цикла. Условно это может выглядеть так:

Sub q

Dim a as byte

for a = 1 to 100

Workbooks.Add

производим некие действия


ActiveWorkbook.SaveAs Filename:="C:\Users\1\Desktop\a.xls x", FileFormat:= xlOpenXMLWorkbook, CreateBackup:=False

next a

end sub

Смысл идеи в том, что я хочу создать несколько файлов с названиями из цифр, то есть должно получиться 100 файлов с названиями от 1 до ста. В коде примера имелось в виду, что в названии a.xlsx , а это переменная.
horpenst вне форума Ответить с цитированием
Старый 24.12.2014, 11:42   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
ActiveWorkbook.SaveAs Filename:="C:\Users\1\Desktop\" & a & ".xlsx", FileFormat:= xlOpenXMLWorkbook, CreateBackup:=False
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.12.2014, 15:15   #3
horpenst
Пользователь
 
Регистрация: 07.03.2011
Сообщений: 40
По умолчанию

Спасибо, работает!
horpenst вне форума Ответить с цитированием
Старый 24.12.2014, 15:35   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

1. я удивлен не меньше, чем Вы!
2. что понять, что все не так просто - выполните макрос повторно
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.12.2014, 16:40   #5
horpenst
Пользователь
 
Регистрация: 07.03.2011
Сообщений: 40
По умолчанию

И все-таки работает.
Появилось поле для работы.
horpenst вне форума Ответить с цитированием
Старый 24.12.2014, 17:40   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Если "производим некие действия" более секунды, то можно так:
Код:
 ActiveWorkbook.SaveAs Filename:="C:\Users\1\Desktop\" & Format(Now, "YYYY-MM-DD__HH-MM-SS") & ".xlsx", FileFormat:= xlOpenXMLWorkbook, CreateBackup:=False)
А если менее, то можно ещё и a туда воткнуть.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 25.12.2014, 12:07   #7
horpenst
Пользователь
 
Регистрация: 07.03.2011
Сообщений: 40
По умолчанию

Еще не проверял, но спасибо и Вам.
horpenst вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нарисовать несколько картинок с одним фоном Ksim C++ Builder 1 14.02.2014 06:22
Как создать и сохранить несколько файлов в .zip Lubocka Microsoft Office Excel 8 09.08.2012 20:50
1) как перетащить несколько модулей с одной книги на другую одним скопом? 2)можно ли открыть несколько книг сразу? БАХТИ Microsoft Office Excel 17 26.09.2011 18:11
открытие нескольких книг одним макросом и закрытие книг другим макросом kursant95 Microsoft Office Excel 6 27.01.2011 16:54
Запустить несколько макросов в одним макросом Neo007 Microsoft Office Excel 2 16.01.2009 15:17