Excel Vba代碼獲取指定區域內的所有shape對象

2019-10-28 15:23:00
tmtony8
原創
247

在Excel里,希望選取某個工作表中指定區域的所有形狀對象

運行代碼,選中A1:D10 區域中的所有shape對象


Sub main()
    Dim Sh1(1 To 100) As String  '定義數組,用于存放shape名
    Dim sh As Shape
    Dim i As Integer
    With ActiveSheet
        For Each sh In .Shapes '遍歷所有的Shape對象
            If Not Application.Intersect(sh.TopLeftCell, .Range("A1:D10")) Is Nothing Then '   判斷Shape對象是否在指定的A1:D10區域中
                i = i + 1  '統計總共有多少個形狀
                Sh1(i) = sh.Name   '將Shape名保存在數組
            End If
        Next sh
    End With
    ActiveSheet.Shapes.Range(Sh1).Select '選中Sh1中存放的Shape
End Sub


    分享
    北京十一选五基本走势