標題:
[發問]
OptionButton 輸入設定
[打印本頁]
作者:
小華
時間:
2014-2-16 15:08
標題:
OptionButton 輸入設定
請教各位先進大大
我要設定一個評分輸入系統 每個項目的分數都是唯一的。
我用Frame將各個OptionButton 分群組,現在遇到幾個問題:
1.如何設定每個OptionButton 輸入的值? 分數:1~5分
2.有甚麼寫法可以分辨Frame底下的OptionButton.value = ture 然後再輸入值??
作者:
stillfish00
時間:
2014-2-17 15:09
回復
1#
小華
可以在US1中寫一個Function 計算
例如計算3P中的總分:
Function CalSum_3P() As Integer
CalSum_3P = 0
For i = 1 To 55 'OptionButton1 to OptionButton55
If Me.Controls("OptionButton" & i).Value = True Then
CalSum_3P = CalSum_3P + (5 - (i - 1) Mod 5)
End If
Next
End Function
複製代碼
作者:
小華
時間:
2014-2-17 19:18
回復
2#
stillfish00
這位先進 抱歉 因為我對於VBA還不是了解很多,所以我不太懂這一段程式要寫在哪個地方??
可以請問你每句程式的意思嗎???
作者:
stillfish00
時間:
2014-2-18 16:00
回復
3#
小華
回復 1# 小華
可以在US1中寫一個Function 計算
[attach]17515[/attach]
怎麼用?例如在CommandButton1_Click()中加入
If ComboBox1.Value = "3P" Then MsgBox "總分 : " & CalSum_3P()
複製代碼
OptionButton都有自己的名稱,3P中的名稱是從OptionButton1到OptionButton55
因為是照順序又有規律 每次5個
依 OptionButton1 => 5分
OptionButton2 => 4分
.........依此類推
所以OptionButtonXX 的分數可以用(5 - (i - 1) Mod 5) 表示 (Mod是取餘數)
還有,因為function放在表單US1中,所以Me.Controls指的就是US1.Controls
作者:
小華
時間:
2014-2-18 22:05
回復
4#
stillfish00
謝謝這位先進的解說~~可是這段程式碼好像會直接把分數加總
我是需要將各個類別儲存單一的分數 例如:工作態度 3分 配合度 4分 等等......分別存在另一份EXCEL檔,當作資料庫
因為我不知道該如何寫程式 讓程式判別FrameXX底下的OptionButtonXX的值是不是TURE,如果是的話儲存分數到對應的儲存格。
作者:
stillfish00
時間:
2014-2-19 11:47
回復
5#
小華
假設Frame底下都5個OptionButton,都按順序 :
Function GetOption(ByRef vFrame As Variant) As Integer
Dim i
For i = 0 To vFrame.Controls.Count - 1
If vFrame.Controls(i).Value = True Then
GetOption = 5 - i
Exit For
End If
Next
End Function
複製代碼
例 : CommandButton1_Click()中
x.Cells(recond, 7) = GetOption(Me.Frame1)
x.Cells(recond, 8) = GetOption(Me.Frame2)
複製代碼
作者:
小華
時間:
2014-2-19 19:20
回復
6#
stillfish00
感謝先進的幫助!~~~程式已經可以判別並且正確輸入了。
還有一些問題想請問:
1.請問這位先進所寫的程式碼代表的意思?? 有太多看不懂的程式碼........
想多了解程式碼的意思,在日後可以更加的應用
2.程式在分辨Page1~Page3.Enabled是否為true時可以正常運作,可是多選幾次之後 Page下面的資料都不見了?? 必須要用滑鼠點一下該Page 才會顯示下面的資料
請問這是甚麼問題呢?
作者:
stillfish00
時間:
2014-2-19 21:12
本帖最後由 stillfish00 於 2014-2-19 21:15 編輯
回復
7#
小華
因為你只是把分頁設為可選,但是沒有選它
MultiPage1.Page1.Enabled = False
MultiPage1.Page2.Enabled = False
MultiPage1.Page3.Enabled = False
Select Case ComboBox1.Value
Case "3P"
MultiPage1.Page1.Enabled = True '設為可選
MultiPage1.Value = 0 '選擇第1個page
Case "L1", "L2", "L3"
MultiPage1.Page2.Enabled = True
MultiPage1.Value = 1 '選擇第2個page
Case "L4", "L5", "L6"
MultiPage1.Page3.Enabled = True
MultiPage1.Value = 2 '選擇第3個page
End Select
複製代碼
作者:
小華
時間:
2014-2-20 20:42
回復
8#
stillfish00
謝謝這位先進的教導!~~~
對於程式語言 我要學的東西還很多
感謝先進不辭辛苦的教導!~~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)