ActiveX控件 實例0010 Frame+Optionbutton要兩粒在一起才是最好

【前言】

朋友新開了一個小店,為了瞭解客戶的需求(也是為了得到一些客戶的資料),就搞了一個活動:如果進店客戶參與一份只需5分鐘的調查問卷,就可以不限購買額,全場9折優惠。可是如果給客戶一張紙一支筆,別說5分鐘能填完,估計在現在這個“事事用手機的年代”,也沒有幾個人願意給你寫這個。

所以他就引進了一個小程序,貼出二維碼,手機掃一掃就有一個調查問卷顯示在手機上(還可以被獲得一些初步的個人信息),手指點一點,估計5分鐘不用就可以完成一份兒不太長的調查問卷了。

【正文】

對於他用的什麼App或者小程序,不是作者關心的問題,我只是在那個問卷上看到了一個功能,覺得可以分享給大家。

現在這樣的調查問卷的形式並不少見,其中以單選題、多選題、問答題為主要形式,而為了便捷、快速,甚至是可以引導式的錄入,這些調查形式上,又以選擇題佔絕大的比重。好了,在Excel的ActiveX控件中,我們知道多選題可以使用CheckBox控件來實現,但是對於選項控件Optionbutton就會出現就會出現問題,如下

ActiveX控件 實例0010 Frame+Optionbutton要兩粒在一起才是最好

這是因為Optionbutton控件是“單選控件”,在同一個分組下,眾多的Optionbutton選擇項是互斥的。所以我們現在需要給不同組別的Optionbutton進行分組,此時我們需要另一個控件,Frame控件(框架控件),下面我們就一起來看看它的做法和可以實現的功能。


【製作過程】

步驟1:

在VBE界面的工程窗口中,插入一個新的窗體,上面的動圖我們做了一個“錯誤”的窗體案例Userform1,所以再建立新窗口,默認就是Userform2 。改Userform2的Caption為“Frame與Optionbutton”

ActiveX控件 實例0010 Frame+Optionbutton要兩粒在一起才是最好

步驟2:

添加Frame框架控件,

ActiveX控件 實例0010 Frame+Optionbutton要兩粒在一起才是最好

改Frame控件的Caption標籤為“1、1+1=?請選擇...”

ActiveX控件 實例0010 Frame+Optionbutton要兩粒在一起才是最好

步驟3:

重點來了,在框架控件裡面添加Optionbutton控件

ActiveX控件 實例0010 Frame+Optionbutton要兩粒在一起才是最好

然後連續做出其他3個問題的框架組,如下圖。

ActiveX控件 實例0010 Frame+Optionbutton要兩粒在一起才是最好

最後在添加一個可以判斷“答案和給出評語”的命令控件Commandbutton控件,更改其Caption標籤屬性為“測試評語”,及此整體的窗體佈局就完成了。

ActiveX控件 實例0010 Frame+Optionbutton要兩粒在一起才是最好

步驟4:

給Commandbutton控件添加代碼,使其可以判斷我們在每個分組中Optionbutton控件的選擇項內容(Value是True/False),代碼如下:
















<code>Private Sub CommandButton1_Click()  For i = 1 To 12    If Me.Controls("OptionButton" & i).Value = True Then      s = s & Me.Controls("OptionButton" & i).Caption    End If  Next i    If s = "B:2C:3D:4" Then    MsgBox "OK!明天上崗,找門衛領工具,門口掃地!"  Else    MsgBox "幼兒園沒畢業!" End If      End Sub/<code> 

最後讓我們在看一下第二次做的窗體效果如何,是不是可以起到Optionbutton控件不再互斥的功能。

ActiveX控件 實例0010 Frame+Optionbutton要兩粒在一起才是最好

今天的分享就到這裡了,但是值得注意一點,如果同學你夠細心的話,就會發現,即使用了Frame控件進行分組,在整體這個窗口中,Optionbutton控件的序號依然是從1到12個。在“Excel中不能重複命名”這條鐵律一定要深入我心,不僅ActiveX控件中需要注意,在使用Excel,乃至“數據統計這個‘行當’”中都一定要時刻警醒!!

【編後語】

對於Optionbutton控件的用法,想了很多。實在不確定,在實際工作中,這個控件能給我們帶來多大的作用,像“問卷調查”、“人事登記”、“信息錄入”其實都可以見到這個控件的影子。那麼今天能夠通過對Frame控件的用法分享,希望可以看到更多的ExcelER能夠對ActiveX控件的使用。


分享到:


相關文章: