我需要简单地计算一张纸上的区域数量.我的代码是:
Sub areas()
Dim i As Long
i = Worksheets("Sheet2").Selection.Areas.Count
MsgBox i
End Sub
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,我收到错误消息"对象不支持此属性或方法".我不知道为什么.此代码基本上只是从Microsoft网站复制而来.
我甚至无法立即打印出该Worksheets("Sheet2").Selection.Areas.Count部分的窗口.
有什么快速帮助?我正在使用Excel 2010.
谢谢.
小智 19
Object不支持此属性或方法.
可以把它想象成在对象上调用点之后的任何东西.这就像一条链子.
对象是类实例.类实例支持在该类类型定义中定义的一些属性.它揭示了VBE告诉你的任何智能感(有一些隐藏的成员,但它与此无关).因此,在每个点之后,.您会获得智能(白色下拉列表),以帮助您选择正确的操作.
(你可以从任何一种方式开始 - 从前到后或从后到前,一旦你理解了它的工作方式,你就能识别出问题的位置)
在代码区域的任何位置键入此内容
Dim a As Worksheets
a.
Run Code Online (Sandbox Code Playgroud)
你从VBE得到帮助,这是一个叫做Intelli-sense的小滴

它列出了特定对象向任何用户公开的所有可用操作.你看不到班上的.Selection成员Worksheets().这就是错误告诉你的确切内容.
Object不支持此属性或方法.
Worksheets("GRA").Activate
iAreaCount = Selection.Areas.Count
Run Code Online (Sandbox Code Playgroud)
它activates在片材第一然后调用Selection...它没有连接在一起,因为Selection不是成员Worksheets()类.简单地说,您不能前缀的Selection
关于什么
Sub DisplayColumnCount()
Dim iAreaCount As Integer
Dim i As Integer
Worksheets("GRA").Activate
iAreaCount = Selection.Areas.Count
If iAreaCount <= 1 Then
MsgBox "The selection contains " & Selection.Columns.Count & " columns."
Else
For i = 1 To iAreaCount
MsgBox "Area " & i & " of the selection contains " & _
Selection.Areas(i).Columns.Count & " columns."
Next i
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
来自HERE