我需要简单地计算一张纸上的区域数量。我的代码是:
Sub areas()
Dim i As Long
i = Worksheets("Sheet2").Selection.Areas.Count
MsgBox i
End Sub
但由于某种原因,我收到错误消息“对象不支持此属性或方法”。我不知道为什么。此代码基本上只是从Microsoft网站复制而来。
我甚至无法立即打开Worksheets("Sheet2").Selection.Areas.Count
部分的窗口。
任何快速帮助?我正在使用Excel 2010。
感谢。
答案 0 :(得分:17)
Object不支持此属性或方法。
想想它是否在对象上调用点之后的任何内容。它就像一条链子。
对象是一个类实例。类实例支持在该类类型定义中定义的一些属性。它暴露了VBE告诉你的任何智能感知(有一些隐藏的成员,但它与此无关)。因此,在每个点.
之后,您会获得智能(白色下拉列表),以帮助您选择正确的操作。
(你可以从前到后或从前到后开始,一旦你理解了它是如何工作的,你将能够识别出问题的位置)
在代码区域的任何位置键入此内容
Dim a As Worksheets
a.
你从VBE那里得到帮助,这是一个名为Intelli-sense
的小滴
它列出了特定对象向任何用户公开的所有可用操作。您无法看到.Selection
类的Worksheets()
成员。这就是错误告诉你的确切内容。
Object不支持此属性或方法。
Worksheets("GRA").Activate
iAreaCount = Selection.Areas.Count
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
来自HERE