1樓:
在函式、過程內部定義,為區域性變數;在外部定義的是公共變數。
定義公共變數有兩種方式(不建議用dim定義):
private n as integer
private定義的公共變數只能在模組內部共享。
public n as integer
private定義的公共變數可以在模組外部訪問。
假如您這個form叫做myform,而您可以在另外一個form裡,以myform.n來訪問它。
在函式、過程內部定義的變數為區域性變數。這種變數在函式、過程執行完畢後便被釋放。
我舉個例子:假如我要設計一個模擬自動步槍的程式。
public pubmcount as integer
private sub command1_click() '裝子彈
pubmcount=30
end sub
private sub command2_click() '開槍
if pubmcount>0 then
pubmcount= pubmcount - 1
end if
end sub
如果您把pubmcount定義在sub form_load()內部,則在form_load()執行完畢後,pubmcount便被釋放了,也就是丟了。
至於public和private的區別。如果您不想讓「敵人」知道您的彈藥剩餘數量,就用private。如果您用public,則「敵人」會訪問到pubmcount的值。
同樣道理,private定義的函式、過程只能被「自己人」(同一個模組內部)呼叫。如果您用public定義函式、過程,則「敵人」也可以使用。
2樓:匿名使用者
定義在內部的為區域性變數,定義在外面的成為模組級變數!
為什麼我在load外面定義,定義出來了
可是,在load裡面定義,就沒用呢?
你這句話啥意思啊?啥叫「定義出來了」,怎麼沒用了,你把**發出來看看!!
3樓:匿名使用者
如果在函式裡面定義,則其他函式就訪問不了這個變數。
如果在函式外面定義,則所有函式都可以訪問這個變數。
看在我分少的面上,選我把!
VB中的msgbox問題,vb中msgbox的問題
msgbox a b 顯示字串連線的結果 象我這麼寫。就對了!vb中msgbox的問題 a msgbox 必須在工資審批任務完成後才能進行更新記錄操作!請選擇是否進行更新記錄操作 vbyesno,確定更新 少了一個逗號吧,vbyesno前面加個逗號看看看其他是沒錯的 因為你點了確定按鈕這時x才會有值...
VB中label的問題,VB中label的一個問題
這是一個奧運會的倒計時器,如下 const adate 8 8 2008 8 40 00 am 常量紐約時間的北京奧運會開幕時間 private sub form load timer1.interval 1000timer1.enabled trueend sub private sub time...
Excel VBA問題 如何定義全域性變數
excel vba 定義全域性變數的具體操作步驟如下 1 首先我們開啟電腦裡的excel軟體進入excel主介面。2 然後我們滑鼠右擊下面的工作表 如sheet1 選擇 檢視 就可以開啟vba編輯介面。3 如圖顯示開啟vba程式設計介面。4 接著就是在 框裡輸入定義一個執行函式。5 接著就是在 框裡...