- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
Q:
VBA有三種變數
區域、模組、全域變數共三種
小弟對於模組和全域變數分辨不清
不知要如何區分呢?
A:
宣告變數的基本語法如下,不知哪裡不懂?
Dim variable_name [As variable_type]
在模組層次�堨H Dim 所宣告的變數,該模組所有的程序皆可使用。
在程序層次宣告的變數,則只可在該程序中使用。
Private variable_name [As variable_type]
在模組層次中用來宣告私有變數,並配置儲存空間。
Private 變數只適用於宣告它們的模組中。
Public variable_name [As variable_type]
在模組層次中用來宣告公用變數,並配置儲存空間。
使用 Public 陳述式宣告的變數,可以在所有模組�堥洏� (除非使用 Option Private Module);但會使變數只在它們所在的專案�堿陘膝峈滿C
注意 Public 陳述式無法在物件類別模組�堳襲i固定長度的字串變數。
提醒您,懂得學以致用比較重要,不需拘泥在名詞上。
Q:
如果我要宣告一個全域變數,
一開機這個變數就存在,
那麼我要如何宣告呢?
以下是我的寫法,不知道對不對
Public s1 As Integer
'這是在ThisWorkBook中的程序
Private Sub Workbook_Open()
s1 = Sheet1.Range("A65535").End(xlUp).Row
End Sub
A:
你是在物件類別模組ThisWorkbook宣告變數的,
Sheet1也是物件類別模組。
如果變數要在不同的模組之間傳遞/讀取,
請在一般模組宣告公用變數。 |
|