В этой статье блога мы углубимся в различные методы циклического перебора всех фигур в книге Excel с помощью VBA. Фигуры в Excel могут включать в себя такие объекты, как изображения, диаграммы, кнопки и т. д. Поняв эти различные методы, вы сможете эффективно манипулировать и обрабатывать фигуры в макросах VBA. Давайте углубимся в примеры кода!
Метод 1: перебор всех фигур на определенном листе
Sub LoopShapesInWorksheet()
Dim ws As Worksheet
Dim shp As Shape
Set ws = ThisWorkbook.Worksheets("Sheet1") ' Replace "Sheet1" with the desired worksheet name
For Each shp In ws.Shapes
' Do something with the shape
Debug.Print shp.Name
Next shp
End Sub
Метод 2. Перебор всех фигур на активном листе
Sub LoopShapesInActiveWorksheet()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
' Do something with the shape
Debug.Print shp.Name
Next shp
End Sub
Метод 3. Перебор всех фигур во всей книге
Sub LoopShapesInWorkbook()
Dim wb As Workbook
Dim ws As Worksheet
Dim shp As Shape
Set wb = ThisWorkbook
For Each ws In wb.Worksheets
For Each shp In ws.Shapes
' Do something with the shape
Debug.Print shp.Name
Next shp
Next ws
End Sub
Метод 4. Перебор всех фигур с использованием коллекции фигур
Sub LoopShapesUsingShapesCollection()
Dim shp As Shape
For Each shp In ThisWorkbook.Sheets("Sheet1").Shapes ' Replace "Sheet1" with the desired sheet name
' Do something with the shape
Debug.Print shp.Name
Next shp
End Sub
Метод 5. Перебор всех фигур с использованием коллекции имен
Sub LoopShapesUsingNamesCollection()
Dim shp As Object
For Each shp In ThisWorkbook.Names
If TypeName(shp.RefersToRange) = "Shape" Then
' Do something with the shape
Debug.Print shp.RefersToRange.Name
End If
Next shp
End Sub
В этой статье мы рассмотрели различные методы перебора всех фигур в книге Excel с помощью VBA. Используя эти методы, вы можете эффективно обрабатывать и манипулировать фигурами в макросах. Не забудьте адаптировать примеры кода в соответствии с вашими конкретными потребностями. Приятного кодирования!