识别列表 VBA

Identify List VBA

我有 3 个列表,分别是 'List1'、'List2' 和 'List3'

我的列表位于电子表格 (Worksheet1) 的表面。 (它们不在单独的表格中)。它们是从 ActiveX 工具集合创建的。

什么 code/object 名称标识列表,例如我的。

这是我尝试过的:

Set wrksht = ActiveWorkbook.Worksheets("Sheet1")

n1 =wrksht.ListObjects.Count

n2 = ActiveSheet.ListBoxes.Count

n3 = ActiveSheet.ListObjects.Count

当我单步执行代码时,n1、n2 和 n3 都显示为 0(没有生成错误消息),这意味着 VBA 'recognizes' 某些东西。但是我期望的值是3,所以对象引用是错误的。

那么我应该使用什么对象。

我会按照这些思路使用一些东西,这样调用 countshapes("ListBox")

Function CountShapes(strType As String) As Long

Dim s As Shapes
Dim shp As Shape

Set s = ActiveSheet.Shapes

For Each shp In s

    If shp.Type = msoOLEControlObject Then

        If TypeName(shp.OLEFormat.Object.Object) = strType Then
            CountShapes = CountShapes + 1
        End If

    End If

Next shp

End Function