Board logo

標題: 私用變數? [打印本頁]

作者: t8899    時間: 2014-10-20 19:44     標題: 私用變數?

某變數只用在自已的工作表( private)
想在別的工作表裡的程序改變它的值?如何做?
作者: bobomi    時間: 2014-10-20 21:02

private -> Public
作者: luhpro    時間: 2014-10-20 21:33

本帖最後由 luhpro 於 2014-10-20 21:40 編輯
某變數只用在自已的工作表( private)
想在別的工作表裡的程序改變它的值?如何做?
t8899 發表於 2014-10-20 19:44

private -> Public
bobomi 發表於 2014-10-20 21:02


補充 2#
1. 變數設為 Public 只可放在 第一個 Sub 指令的上方,
且放在 Option Explicit 的上方或下方皆可.

2. 假設在 Sheets("Sheet1") 有設定 Public vN
則在非 Sheets("Sheet1") 中使用時, (例如  Sheets("Sheet3"), 或是 ThisWorkBook...)
要用 Sheets("Sheet1").vN 的形式來使用該變數.

3. 若想在所有區域共用此變數,
請將該 Public 的變數設在 Module 內.

4. 若以物件導向的概念來做的話,
應該是將該變數設為 Private ,
而在該 Sheet 內新增一個 Public Sub 程序名(欲設定的值) 的方式來實現修改或顯示該變數的功能,
相同的可用 Sheets("Sheet1"). 程序名(欲設定的值) 的形式呼叫修改此變數內容.
這樣的話若不透過這個程序是無法修改此變數的.
作者: t8899    時間: 2014-10-20 21:42

本帖最後由 t8899 於 2014-10-20 21:44 編輯
補充 2#
1. 變數設為 Public 只可放在 第一個 Sub 指令的上方,
且放在 Option Explicit 的上方或 ...
luhpro 發表於 2014-10-20 21:33

private 都改成 public 如圖

[attach]19369[/attach]
作者: bobomi    時間: 2014-10-20 22:04

有 declare 的不能改成 Public 只能用 Private
作者: luhpro    時間: 2014-10-20 22:05

回復 4# t8899
要用上述 4. 的方式來實現.
作者: bobomi    時間: 2014-10-20 22:06

所以你只有一個 Dim leaving As Integer 可以改成
Public leaving As Integer
作者: t8899    時間: 2014-10-21 03:33

我後來想到的方法是,直接寫在private 的工作表(sheet1)
sub abc123()
改變變數的值
end sub
在別的工作上裡
用 sheet1.abc123 就可以了




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)