Excel2000中的表單,非控制工具箱裡的物件,其中的值,如布林,字串等,可以直接由巨集中取得嗎?
例如,工作表中有一核取方塊,名稱為a
先勾選好核取方塊a中的值
在模組中的巨集中可以直接取得a的布林值嗎?
還是只有將核取方塊中的值連結至某欄位中,再由巨集去取得呢?
很久沒來了...
一來就問問題~~~真歹勢哩~~~~
Excel2000中的表單,非控制工具箱裡的物件,其中的值,如布林,字串等,可以直接由巨集中取得嗎?
例如,工作表中有一核取方塊,名稱為a
先勾選好核取方塊a中的值
在模組中的巨集中可以直接取得a的布林值嗎?
還是只有將核取方塊中的值連結至某欄位中,再由巨集去取得呢?
很久沒來了...
一來就問問題~~~真歹勢哩~~~~
直接判斷即可。
舉例(在UserForm模組裡面) --
If Me.OptionButton1 = True Then
MsgBox "You selected OptionButton1"
End If
說明 --
- Me是指UserForm物件, OptionButton1是OptionButton的名稱, 如果你用別的名稱, 這裡也要改成一樣的.
- If Me.OptionButton1 = True Then 可簡寫為
If OptionButton1 Then
可省略 Me 是因為程式位於UserForm模組裡面,
可省略 =True 是基於Boolean值的特性.
<span style="filter:glow(color=3CB371,strength=4);width:100%;color:#3CB371;font-family:Comic Sans MS;font-size:18;font-weight:bold">No desire, No pain.</span><p><span style="filter:glow(color=FF4500,strength=3);width:100%;color:#FF8C00;font-family:Comic Sans MS;font-size:18;font-weight:bold">Before Asking, You should RTFH, RTFM, STFW...</span>
呃, 我好像誤解題意...
工作表上的表單控制項也是可以直接判斷,
例如判斷 OptionButton 被選取是這樣的 --
方法1
ActiveSheet.Shapes("Option Button 1").ControlFormat = 1
方法2
ActiveSheet.Optionbuttons(1) = 1
當然, 方法2是比較高明的。
<span style="filter:glow(color=3CB371,strength=4);width:100%;color:#3CB371;font-family:Comic Sans MS;font-size:18;font-weight:bold">No desire, No pain.</span><p><span style="filter:glow(color=FF4500,strength=3);width:100%;color:#FF8C00;font-family:Comic Sans MS;font-size:18;font-weight:bold">Before Asking, You should RTFH, RTFM, STFW...</span>
問題就是...
我所謂的表單不是在UserForm下的...
Excel中有兩種不同的Form,我一時也說不清楚兩者的差別
在工具列的類別中有兩種,一是表單,一是控制工具箱
我之前所說的核取方塊(CheckBox)是由表單裡加入至Excel中的
而非從控制工具箱中加入,
Leon兄...你懂我所說的嗎...
還是得謝謝你所提供的解答...
呵呵~~~
我們竟僅在三分鐘的差距間發表了文章...
而且Leon兄你還趕在我之前~~~
我大概明白你的意思~~~
但是我始終取不出我在worksheet中checkbox的值...
我試了shapes的屬性...
也直接試了Checkbox()的屬性
在你的例子中有提到一個ControlFormat的方法(還是屬性我不知道...)
也徒勞無功...
我要在巨集中取得Sheet中的Checkbox的Boolean值
麻煩你再傷一下腦筋囉~~~:-P
Leon兄:
我算是解決我的問題了...
雖然用的方法粉笨...
不過我還是想知道...
到底有沒有辦法可以將在Sheet中的CheckBox的值取出成True或是False呢~~~
謝謝你的鼎力相助~~~
:jocky:
我不知道你用什麼方法解決的, 或許是像你第一篇說的
先把值連結到某一儲存格再去判斷.. 但到目前為止
我用的都是直接判斷的方式.
不知你有沒有想過: 既然可以用 Optionbuttons(1) 來引用 Optionbutton,
那為何不能用 Checkboxes(1) 來引用 Checkbox 呢?
If ActiveSheet.Checkboxes(1) = 1 Then ......
Oyazi兄, 可別說你不知道 Checkbox 的複數是 Checkboxes
當然集合物件概念在學習VB/VBA上也是很重要的..
PS.只能對ActiveX控制項判斷True或False(依物件類型而定), 也就是說
boolean 判斷並不適用Worksheet表單控制項 -- 至少實驗結果如此.
<span style="filter:glow(color=3CB371,strength=4);width:100%;color:#3CB371;font-family:Comic Sans MS;font-size:18;font-weight:bold">No desire, No pain.</span><p><span style="filter:glow(color=FF4500,strength=3);width:100%;color:#FF8C00;font-family:Comic Sans MS;font-size:18;font-weight:bold">Before Asking, You should RTFH, RTFM, STFW...</span>
可以直接由巨集取得sheet1的值
sheet1.OptionButton1.value 就可以得到了
希望對你有幫助
不好意思,你可能也看錯題目了..和我一開始一樣最初由 c715881 發表
可以直接由巨集取得sheet1的值
sheet1.OptionButton1.value 就可以得到了
希望對你有幫助
你的寫法只能用在ActiveX控制項, 也就是
[控制工具箱] 裡的控制項, 而主題問的是
[表單] 工具列的控制項.
ActiveX控制項和表單控制項是不一樣的,
取得屬性和控制的方式也不一樣.
題外話,
ActiveX控制項雖然比較新, 功能也比較強,
但有些時候我還是比較喜歡用表單控制項...
<span style="filter:glow(color=3CB371,strength=4);width:100%;color:#3CB371;font-family:Comic Sans MS;font-size:18;font-weight:bold">No desire, No pain.</span><p><span style="filter:glow(color=FF4500,strength=3);width:100%;color:#FF8C00;font-family:Comic Sans MS;font-size:18;font-weight:bold">Before Asking, You should RTFH, RTFM, STFW...</span>
書籤