Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Архивная копия листа с маросом из книги в обычный лист - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Архивная копия листа с маросом из книги в обычный лист (Макросы/Sub)
Архивная копия листа с маросом из книги в обычный лист
AlexOD Дата: Воскресенье, 10.10.2021, 21:05 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Добрый вечер! Необходима ежедневная копия определенного листа содержащего макрос из книги в обычный файл .xlsx сохраняя только значения ячеек. Вроде создал макрос который делает это кроме ячеек которые заполняются макросом с другого листа из книги, в этих ячейках значение ноль. Приходится копировать эти ячейки из исходной книги и вставлять значения.
[vba]
Код
Public Sub UnLoadSut()
'
' Выгружает суточную в формате xlsx (без макросов ;))
    Sheets("Суточная").Select
    Sheets("Суточная").Copy
    Dim oVBComponent As Object, lCountLines As Long
    Set oVBComponent = ActiveWorkbook.VBProject.VBComponents("Лист7")
    With oVBComponent
        lCountLines = .CodeModule.CountOfLines
        .CodeModule.DeleteLines 1, lCountLines
    End With
    Set oVBComponent = Nothing
    Range("A1:N46").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("N27").Select
    ActiveWorkbook.SaveAs Filename:= _
        "D:\Documents\Aрхивы\Строевки ежедневные\2021\" & Format(Now + 1, "dd.mm.yyyy") + ".xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    'ActiveWindow.Close
End Sub
[/vba]
Знатоки VBA подскажите как доработать макрос, что делаю не так?
К сообщению приложен файл: Original.xlsm(156.3 Kb) · Nuzhnyi_rezulta.xlsx(144.5 Kb)


Сообщение отредактировал AlexOD - Воскресенье, 10.10.2021, 22:01
 
Ответить
СообщениеДобрый вечер! Необходима ежедневная копия определенного листа содержащего макрос из книги в обычный файл .xlsx сохраняя только значения ячеек. Вроде создал макрос который делает это кроме ячеек которые заполняются макросом с другого листа из книги, в этих ячейках значение ноль. Приходится копировать эти ячейки из исходной книги и вставлять значения.
[vba]
Код
Public Sub UnLoadSut()
'
' Выгружает суточную в формате xlsx (без макросов ;))
    Sheets("Суточная").Select
    Sheets("Суточная").Copy
    Dim oVBComponent As Object, lCountLines As Long
    Set oVBComponent = ActiveWorkbook.VBProject.VBComponents("Лист7")
    With oVBComponent
        lCountLines = .CodeModule.CountOfLines
        .CodeModule.DeleteLines 1, lCountLines
    End With
    Set oVBComponent = Nothing
    Range("A1:N46").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("N27").Select
    ActiveWorkbook.SaveAs Filename:= _
        "D:\Documents\Aрхивы\Строевки ежедневные\2021\" & Format(Now + 1, "dd.mm.yyyy") + ".xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    'ActiveWindow.Close
End Sub
[/vba]
Знатоки VBA подскажите как доработать макрос, что делаю не так?

Автор - AlexOD
Дата добавления - 10.10.2021 в 21:05
Pelena Дата: Понедельник, 11.10.2021, 09:27 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 17943
Репутация: 3997 ±
Замечаний: ±

Excel 2016 & Mac Excel
Здравствуйте.
Подозреваю, что надо отключать события. Попробуйте такой вариант
[vba]
Код
Public Sub UnLoadSut()
'
' Выгружает суточную в формате xlsx (без макросов ;))
    Application.EnableEvents = False
    Sheets("Суточная").Select
    Sheets("Суточная").Copy
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:= _
                          "D:\Documents\Aрхивы\Строевки ежедневные\2021\" & Format(Now + 1, "dd.mm.yyyy") + ".xlsx", FileFormat:= _
                          xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
    Application.DisplayAlerts = True
    Application.EnableEvents = True
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Подозреваю, что надо отключать события. Попробуйте такой вариант
[vba]
Код
Public Sub UnLoadSut()
'
' Выгружает суточную в формате xlsx (без макросов ;))
    Application.EnableEvents = False
    Sheets("Суточная").Select
    Sheets("Суточная").Copy
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:= _
                          "D:\Documents\Aрхивы\Строевки ежедневные\2021\" & Format(Now + 1, "dd.mm.yyyy") + ".xlsx", FileFormat:= _
                          xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
    Application.DisplayAlerts = True
    Application.EnableEvents = True
End Sub
[/vba]

Автор - Pelena
Дата добавления - 11.10.2021 в 09:27
AlexOD Дата: Понедельник, 11.10.2021, 21:24 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Подозреваю, что надо отключать события. Попробуйте такой вариант

Добрый вечер! То что нужно, спасибо огромное!
 
Ответить
Сообщение
Подозреваю, что надо отключать события. Попробуйте такой вариант

Добрый вечер! То что нужно, спасибо огромное!

Автор - AlexOD
Дата добавления - 11.10.2021 в 21:24
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Архивная копия листа с маросом из книги в обычный лист (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования Jobsora jooble
© 2010-2021 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!