Я бы хотел, чтобы все указанные фигуры исчезли из более чем 1 листа. Это относится примерно к листам «Кабели». Это связано с моим предыдущим запросом:
VBA Excel выбирает и удаляет все фигуры с одинаковым идентификатором и удаляет
Согласно моему запросу относительно сохранения PDF
VBA excel за исключением указанных листов при сохранении версии .PDF
Я подготовил код, который выглядит следующим образом:
Sub Firestopshapes() Dim shp As Shape Dim Ws As Worksheet If Ws.Name Like "*Cables*" Then 'Set Ws = ActiveSheet For Each shp In Ws.Shapes If shp.Name = "Firestop" Then shp.Delete End If Next shp End If End Sub
К сожалению, я получаю ошибку:
Переменная объекта или переменная блока не установлена
Что я здесь не так сделал?
Чтобы закрыть этот вопрос ... вы забыли l oop во всех листах:
For Each Ws in ThisWorkbook.Worksheets If Ws.Name Like "*Cables*" Then ... End If Next
Рассмотрим:
Sub Firestopshapes() Dim shp As Shape Dim Ws As Worksheet For Each Ws In Sheets If InStr(Ws.Name, "Cables") > 0 And Ws.Shapes.Count > 0 Then For Each shp In Ws.Shapes If shp.Name = "Firestop" Then shp.Delete End If Next shp End If Next Ws End Sub