- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
16#
發表於 2011-1-24 09:26
| 只看該作者
回復 13# asus103
這是大大貼的網址~ 怕有人找不到那段解釋的文字~ 特地貼出來~
1. 注意 Match 是工作表函數的成員而不是VBA內建函數,所以需指明上層物件。
WorksheetFunction 的標準寫法是 Application.WorksheetFunction。
2. 注意你的程式位於一般模組還是物件模組。
一般模組:
在一般模組 (就是 Module1、Module2.. 那些) 裡是可以省略 Application 的。
(省略 Application 就不能省略 WorksheetFunction,意思就是不能只寫函數名稱)
物件模組:
但在物件模組裡就不能省略 Application 了,
因為物件模組預設的物件是該物件本身,
例如 Worksheet 模組的預設物件是 Worksheet;
UserForm 模組的預設物件就是 UserForm。由此可知,
若在 UserForm1 模組寫 WorksheetFunction (省略了 Application),
VBA 會視為 UserForm1.WorksheetFunction,結果就會出錯了。 |
|