Страницы: 1
RSS
Форматирование листа в Excel макросом
 
Есть документ, куда постоянно копируют данные с сайтов (путем Ctrl+A и вставляют в лист).
Из-за такого копирования подтягиваются дополнительные элементы (скрин прилагается ниже)

Из-за низ размер файла постепенно доходит на нескольких мб. Что затрудняет нормальную работу с документом.
Я использовал команду:
Код
Sub Удалить_данные()
    Sheets("Данные").Select
    Cells.Select
    Selection.Clear
End Sub
Но эти элементы остаются на прежнем месте.
Подскажите, как сделать полный формат листа или каким образом копировать данные, что бы не подтягивались "дополнительные элементы".

Для копированию использую команду:
Код
ActiveSheet.PasteSpecial
без дополнительных условий.
Изменено: Apos - 11.08.2015 23:17:56
 
Если под элементами понимаются объекты Shape, то следующий макрос поможет удалить все такие объекты:
Код
sub delShapes()
dim shp as shape
dim sh as worksheet
for each sh in activeworkbook.worksheets
   for each shp in sh.shapes
      shp.delete
   next shp
next sh
end sub
С уважением,
Федор/Все_просто
 
Спасибо, помогает.
Как сделать, что бы макрос удалял объекты только с одного листа? (не со всей книги)
 
Код
sub delShapes()
dim shp as shape
   for each shp in worksheets("имя_целевого_листа").shapes
      shp.delete
   next shp
end sub

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Можно обойтись и без цикла:
Код
ActiveSheet.DrawingObjects.Delete
 
Цитата
Юрий М написал:
Sub Удалить_данные()    Sheets("Данные").Select    Cells.Select    Selection.ClearEnd Su
Спасибо, вам совет очень помог мне)
Изменено: Apos - 20.08.2015 22:18:15
 
Вроде я другое предлагал ))
 
Это я рак, криво цитировал.
 
Подскажите, пожалуйста, как прописать, что бы макрос удалял объекты со всех листов, кроме заданного?
 
Попробуйте так:
Код
Sub qqq()
Dim Sht As Worksheet
    For Each Sht In Worksheets
        If Sht.Name <> "Лист1" Then Sht.DrawingObjects.Delete
    Next
End Sub



 
Спасибо, работает)
Страницы: 1
Наверх