標題:
[發問]
物件可以呼叫屬性再呼叫物件嗎
[打印本頁]
作者:
pigexcel2992
時間:
2015-3-25 09:14
標題:
物件可以呼叫屬性再呼叫物件嗎
我想問下面這一行
Sheets("sheet1").UsedRange.Rows.Count
Sheets物件 呼叫 UsedRange 屬性
後面的Rows 是 UsedRange 的屬性嗎 ?
UsedRange 是屬性同時也是物件?
還是它也是 Sheets 的屬性 ?
Excel VBA 可以是以下這樣嗎 ?
物件.屬性.物件.屬性
作者:
stillfish00
時間:
2015-3-25 09:57
本帖最後由 stillfish00 於 2015-3-25 09:59 編輯
回復
1#
pigexcel2992
F1 Excel 說明文件
Excel 開發人員參考資料
Worksheet.UsedRange 屬性
會傳回 Range 物件,此物件代表指定工作表上的已用範圍。唯讀的。
複製代碼
UsedRange 是屬性同時也是物件?
可以這麼說,UsedRange是Worksheet的屬性,也是一物件
更明確的說就是Worksheet物件類別中有像下面這樣的定義,回傳Range物件
Public Property Get UsedRange() as Range
Set UsedRange = XXXX
End Property
同理Rows之於Range的關係也是這樣
作者:
diolin
時間:
2015-3-25 11:35
Microsoft 的說明
UsedRange 屬性 - 傳回一個 Range 物件,此物件代表指定工作表中的已用範圍。唯讀。
它是屬性, 但會回傳一個 Range 物件, 所以就請當成一個 Range 物件來使用
作者:
bobomi
時間:
2015-3-25 14:06
本帖最後由 bobomi 於 2015-3-25 14:07 編輯
Sheet1.UsedRange
物件.屬性
UsedRange.Rows
物件.屬性
Rows.Count
物件.屬性
有沒有看到 UsedRange 既是屬性也是物件
那 UsedRange "真正自我" 的表現形式是什麼? 是物件
因為它後面可以加 . 表示他是各集合體 ( 除非裡面沒放公開的屬性, 不然一並可以加 . )
Msgbox isObject(UsedRange)
Msgbox isObject(UsedRange.Rows.Count)
作者:
pigexcel2992
時間:
2015-3-25 19:18
本帖最後由 pigexcel2992 於 2015-3-25 19:20 編輯
看大家給的答案,消化一下,理解如下
A物件.B屬性
物件呼叫屬性來用,但是屬性會回傳一個物件
因為B屬性有回傳的物件,所以可以利用此物件來呼較此物件的屬性來用
如果後面又這樣以此類推下去
A物件.B屬性.C.D.E
後面的 C D 都是因為有回傳的物件,所以才可以呼叫屬性出來用,然後一值接下去
這樣想應該沒錯吧 ?
作者:
GBKEE
時間:
2015-3-26 07:56
回復
5#
pigexcel2992
Option Explicit
Sub Ex()
With ActiveSheet.[F5:H15]
MsgBox .Columns.Count
With .Columns(4)
MsgBox .Address & " - 共有" & .Cells.Count & "個 Cells"
With .Range("B" & .Cells.Count)
MsgBox .Address
End With
End With
End With
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)