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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2015, 19:14   #1
сергей кмв
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 17
По умолчанию сохранение нескольких листов в одну книгу по условию

помогите пожалуйста есть макрос
Код:
Sub СохранитьЛистВФайл()
    On Error Resume Next
    ' название подпапки, в которую по-умолчанию будет предложено сохранить файл
    Const REPORTS_FOLDER = "наряд\"
    ' создаём папку для файла, если её ещё нет
    MkDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
    
    ' выбираем стартовую папку
   ChDrive Left(ThisWorkbook.Path, 1): ChDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
     ' вывод диалогового окна для запроса имени сохраняемого файла
    Filename = Application.GetSaveAsFilename("наряд.xls", "Книга Excel 97-2003(*.xls),", , _
                                             "Введите имя файла для сохраняемого отчёта", "Сохранить")
    ' если пользователь отказался от выбора имени файла - отменяем сохранение листа в файл
    If VarType(Filename) = vbBoolean Then Exit Sub
     ' копируем активный лист (при этом создаётся новая книга)
    Err.Clear: ActiveSheet("Лист 2").Move: DoEvents
    If Err Then Exit Sub    ' произошла какая-то ошибка при попытке копирования листа
    ' убеждаемся, что активной книгой является копия листа
    If ActiveWorkbook.Worksheets.Count = 1 And ActiveWorkbook.Path = "" Then
        ' сохраняем файл под заданным именем в формате Excel 2003
        ActiveWorkbook.SaveAs Filename, xlWorkbookNormal
         ' закрываем сохранённый файл
        ' (удалите следующую строку, если закрывать созданный файл не требуется)
        ActiveWorkbook.Close False
    End If
    
End Sub
он сохраняет только активный лист а созданный лист он не сохраняет. и несколько созданных листов в одну книгу тоже не сохраняет.

Последний раз редактировалось Stilet; 11.05.2015 в 19:17.
сергей кмв вне форума Ответить с цитированием
Старый 11.05.2015, 19:34   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а по какому условию следует отбирать нужные листы?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 11.05.2015, 21:42   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Sheets(Array("Лист1", "Лист2", "Лист3")).Move
Но думаю хоть один лист следует оставить...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 23.05.2015, 20:39   #4
сергей кмв
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 17
По умолчанию

создается листы по шаблону и сохраняются как отдельные книги а в одну не получается
сергей кмв вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование строк из нескольких Листов по условию на Лист это же Книги Mutarix Microsoft Office Excel 1 24.11.2014 17:30
Объединение нескольких таблиц в одну книгу Gregory_Colbert Microsoft Office Excel 6 14.09.2010 10:24
Выбор ячеек по условию из нескольких листов hamlook Microsoft Office Excel 10 10.11.2009 16:00
выделение листов по условию Bronyk Microsoft Office Excel 5 11.03.2008 19:40
добавление листа в книгу по условию Sasha K Microsoft Office Excel 4 30.01.2007 15:44