返回列表 上一主題 發帖

[發問] OptionButton 輸入設定

回復 1# 小華
可以在US1中寫一個Function 計算

例如計算3P中的總分:
  1. Function CalSum_3P() As Integer
  2.   CalSum_3P = 0
  3.   For i = 1 To 55  'OptionButton1 to OptionButton55
  4.     If Me.Controls("OptionButton" & i).Value = True Then
  5.       CalSum_3P = CalSum_3P + (5 - (i - 1) Mod 5)
  6.     End If
  7.   Next
  8. End Function
複製代碼

TOP

回復 3# 小華
回復 1# 小華
可以在US1中寫一個Function 計算


怎麼用?例如在CommandButton1_Click()中加入
  1. 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

TOP

回復 5# 小華
假設Frame底下都5個OptionButton,都按順序 :
  1. Function GetOption(ByRef vFrame As Variant) As Integer
  2.   Dim i
  3.   For i = 0 To vFrame.Controls.Count - 1
  4.     If vFrame.Controls(i).Value = True Then
  5.       GetOption = 5 - i
  6.       Exit For
  7.     End If
  8.   Next
  9. End Function
複製代碼
例 : CommandButton1_Click()中
  1. x.Cells(recond, 7) = GetOption(Me.Frame1)
  2. x.Cells(recond, 8) = GetOption(Me.Frame2)
複製代碼

TOP

本帖最後由 stillfish00 於 2014-2-19 21:15 編輯

回復 7# 小華
因為你只是把分頁設為可選,但是沒有選它
  1. MultiPage1.Page1.Enabled = False
  2. MultiPage1.Page2.Enabled = False
  3. MultiPage1.Page3.Enabled = False
  4. Select Case ComboBox1.Value
  5.   Case "3P"
  6.     MultiPage1.Page1.Enabled = True  '設為可選
  7.     MultiPage1.Value = 0  '選擇第1個page
  8.   Case "L1", "L2", "L3"
  9.     MultiPage1.Page2.Enabled = True  
  10.     MultiPage1.Value = 1  '選擇第2個page
  11.   Case "L4", "L5", "L6"
  12.     MultiPage1.Page3.Enabled = True
  13.     MultiPage1.Value = 2  '選擇第3個page
  14. End Select
複製代碼

TOP

        靜思自在 : 多做多得。少做多失。
返回列表 上一主題