【求助】Excel1表單連結至巨集之問題 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- OFFICE 相 關 軟 體 討 論 版


PCZONE 討論區



通知

-- OFFICE 相 關 軟 體 討 論 版 Word、Excel、PowerPoint、Access、Outlook、FrontPage或Office XP等的問題解答與經驗分享

會員
【求助】Excel表單連結至巨集之問題
Excel2000中的表單,非控制工具箱裡的物件,其中的值,如布林,字串等,可以直接由巨集中取得嗎?
例如,工作表中有一核取方塊,名稱為a
先勾選好核取方塊a中的值
在模組中的巨集中可以直接取得a的布林值嗎?
還是只有將核取方塊中的值連結至某欄位中,再由巨集去取得呢?
很久沒來了...
一來就問問題~~~真歹勢哩~~~~

回覆
Take it easy~

直接判斷即可。
舉例(在UserForm模組裡面) --

If Me.OptionButton1 = True Then
MsgBox "You selected OptionButton1"
End If

說明 --
  1. Me是指UserForm物件, OptionButton1是OptionButton的名稱, 如果你用別的名稱, 這裡也要改成一樣的.
  2. If Me.OptionButton1 = True Then 可簡寫為
    If OptionButton1 Then
    可省略 Me 是因為程式位於UserForm模組裡面,
    可省略 =True 是基於Boolean值的特性.
回覆
Take it easy~

呃, 我好像誤解題意...

工作表上的表單控制項也是可以直接判斷,
例如判斷 OptionButton 被選取是這樣的 --
方法1
ActiveSheet.Shapes("Option Button 1").ControlFormat = 1
方法2
ActiveSheet.Optionbuttons(1) = 1

當然, 方法2是比較高明的。
回覆
會員

問題就是...
我所謂的表單不是在UserForm下的...
Excel中有兩種不同的Form,我一時也說不清楚兩者的差別
在工具列的類別中有兩種,一是表單,一是控制工具箱
我之前所說的核取方塊(CheckBox)是由表單裡加入至Excel中的
而非從控制工具箱中加入,
Leon兄...你懂我所說的嗎...
還是得謝謝你所提供的解答...
回覆
會員

呵呵~~~
我們竟僅在三分鐘的差距間發表了文章...
而且Leon兄你還趕在我之前~~~
我大概明白你的意思~~~
但是我始終取不出我在worksheet中checkbox的值...
我試了shapes的屬性...
也直接試了Checkbox()的屬性
在你的例子中有提到一個ControlFormat的方法(還是屬性我不知道...)
也徒勞無功...
我要在巨集中取得Sheet中的Checkbox的Boolean值
麻煩你再傷一下腦筋囉~~~:-P
回覆
會員

Leon兄:
我算是解決我的問題了...
雖然用的方法粉笨...
不過我還是想知道...
到底有沒有辦法可以將在Sheet中的CheckBox的值取出成True或是False呢~~~
謝謝你的鼎力相助~~~
:jocky:
回覆
Take it easy~

我不知道你用什麼方法解決的, 或許是像你第一篇說的
先把值連結到某一儲存格再去判斷.. 但到目前為止
我用的都是直接判斷的方式.
不知你有沒有想過: 既然可以用 Optionbuttons(1) 來引用 Optionbutton,
那為何不能用 Checkboxes(1) 來引用 Checkbox 呢?

If ActiveSheet.Checkboxes(1) = 1 Then ......

Oyazi兄, 可別說你不知道 Checkbox 的複數是 Checkboxes
當然集合物件概念在學習VB/VBA上也是很重要的..

PS.只能對ActiveX控制項判斷True或False(依物件類型而定), 也就是說
boolean 判斷並不適用Worksheet表單控制項 -- 至少實驗結果如此.
回覆
會員

可以直接由巨集取得sheet1的值
sheet1.OptionButton1.value 就可以得到了
希望對你有幫助

回覆
Take it easy~

引用:
最初由 c715881 發表
可以直接由巨集取得sheet1的值
sheet1.OptionButton1.value 就可以得到了
希望對你有幫助
不好意思,你可能也看錯題目了..和我一開始一樣
你的寫法只能用在ActiveX控制項, 也就是
[控制工具箱] 裡的控制項, 而主題問的是
[表單] 工具列的控制項.
ActiveX控制項表單控制項是不一樣的,
取得屬性和控制的方式也不一樣.

題外話,
ActiveX控制項雖然比較新, 功能也比較強,
但有些時候我還是比較喜歡用表單控制項...

回覆







 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。