Страницы: 1
RSS
Копия листа, с очисткой всех формул и макросов
 
Всем привет!
Есть вот такой не сложный код:

Код
Private Sub CommandButton1_Click()
    ActiveSheet.Select
    ActiveSheet.Copy
    ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs [q1]
    ActiveSheet.Range("$A$9:$O$30").AutoFilter Field:=2, Criteria1:="<>-"
End Sub
Но есть маленькая проблема, код выгружает вместе с кнопкой на которой и сидит сам макрос, в результате остается связь сданной книгой. Возможно выгрузить чистые данные без кнопок и связей, короче чистый файл
Изменено: adamm - 26.07.2019 15:32:45
 
Код
Private Sub CommandButton1_Click()
    ActiveSheet.Select
    ActiveSheet.Copy
    ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
    ActiveSheet.Shapes.Range(Array("CommandButton1")).Delete
    With Range("R2").Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
    
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs [q1]
    ActiveSheet.Range("$A$9:$O$30").AutoFilter Field:=2, Criteria1:="<>-"
End Sub
Изменено: skais675 - 27.07.2019 12:31:30
 
skais675,большущее спасибо, в очередной раз выручаете!!!
 
skais675, можно ещё одно уточнение, как в новь создавшейся книге стереть все макросы на сайте поискал, есть варианты программным способом, но все не мой вариант. Как понимаю данный код стирает только кнопку
Код
ActiveSheet.Shapes.Range(Array("CommandButton1")).Delete

 
а откуда макросы появились во вновь созданной книге?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Скажем она не то, что вновь созданная, а копия листа, очищенная от формул, skais675, просто в курсе о чем я, так как он помог мне в написании кода
 
adamm,Как вариант
Код
ActiveWorkbook.SaveAs [q1] & ".xlsx"
 
Вроде все работало, и начала выскакивать ошибка runtime error 1004, после работы кода выгрузки в новую книгу, но файл создается под названием "книга...", возникает  ошибка в строке
Код
ActiveWorkbook.SaveAs [q1]
гугл дал решение https://support.microsoft.com/ru-ru/help/210684/copying-worksheet-programmatically-causes-run-time-error-1004-in-excel
Но я так и не в понял, что к чему
Изменено: adamm - 27.07.2019 10:20:41
 
adamm У Вас столько вопросов в одной теме. Постарайтесь сами разобраться - явно что-то не в порядке с именем или доступом. Проверяйте можете ли Вы без участия макросов в ручную сохранить такой файл с таким именем по такому-то пути, и будет Вам ответ.
 
Ок, попробую, спасибо
Вы оказались правы, знак "/", не давал сохраниться файлу. Иногда проблема перед глазами, а я пытаюсь рыть глубже!
Еще раз спасибо!
Изменено: adamm - 27.07.2019 11:28:15
Страницы: 1
Наверх