VBA对象不支持此属性或方法

use*_*249 11 excel vba

我需要简单地计算一张纸上的区域数量.我的代码是:

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不支持此属性或方法.

如果你看一下MSDN的例子

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