Страницы: 1
RSS
Создание нового файла спомощью макроса.
 
Здраствуйте!  
Ежедневно веду учет потрфеля ценных бумаг в Экселе. Т.е. например сегодня  24.09.10 я закрываю опер.день за 23.09.10. Каждый опер.день это отдельный файл с портфелем. 25-го утром я открываю файл за 23-е и делаю СОХРАНИТЬ КАК под названием 2010-09-24. Можно ли сделать кнопку с макросом чтобы при нажатии ее в предыдущем опер.дне автоматически появлялся новый файл с названием следующего дня в той же папке.  
Можно ли сделать: чтобы в определенной ячейке стояла дата из названия файла.  
Заранее благодарю за помощь.
 
Вот весь макрос:    
 
Sub SaveWithDate()  
   d = Format(Now, "YYYY-MM-DD")  
   fn = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, d & ".xls")  
   ThisWorkbook.SaveAs fn  
End Sub  
 
А дату в ячейке проставить легко:  
1) формулой типа =ТДАТА()  
2) строкой кода вроде [d5]=now
 
Пример в файле: http://excelvba.ru/XL_Files/Sample__24-09-2010__17-51-04.zip
 
не заметил сразу, что дату надо брать не текущую, а предыдущую  
 
Замените в коде Now на Now-1  
 
Будет так:  
 
Sub SaveWithDate()  
d = Format(Now-1, "YYYY-MM-DD")  
fn = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, d & ".xls")  
ThisWorkbook.SaveAs fn  
End Sub
 
Спасибо большое за помощь.  
А как сделать так чтобы название нового файла отталкивалось от названия предыдущего или от ячейки с датой в предыдущем. Например: 2010-09-25 (предыдущий файл) появился новый файл 2010-09-26, т.е. (25+1). Я просто забыл указать что я закрываю после выходных сразу несколько дней, т.е. например в понедельник я закрываю пятницу, субботу, воскресенье, в связи с чем ссылка на текущую дату не подходит. Заранее благодарю.
 
кажется самоу удалось сделать.  
посмотрите пожалуйста:    
Sub SaveWithDate()  
   d = Format(Range("D6") + 1, "YYYY-MM-DD")    
   fn = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, d & ".xls")    
   ThisWorkbook.SaveAs fn      
End Sub  
 
D6 - это ячейка с датой опер дня.
Страницы: 1
Читают тему
Наверх