返回列表 上一主題 發帖

[發問] 多個checkbox 控制同一個textbox

回復 1# wenxiao
  1. Option Explicit
  2. Public MyCheak() As New Class1
  3. Private Sub Auto_Open() 'Module1的程式碼,檔案開啟時自動執行的程序
  4.     Dim E As OLEObject, i As Integer
  5.     With Sheet1
  6.         For Each E In .OLEObjects
  7.             If E.progID = "Forms.CheckBox.1" Then
  8.                 ReDim Preserve MyCheak(0 To i)
  9.                 Set MyCheak(i).WorkCheck = E.Object
  10.                 i = i + 1
  11.             End If
  12.         Next
  13.     End With
  14. End Sub
複製代碼
物件類別模組
  1. Option Explicit
  2. Public WithEvents WorkCheck As MSForms.CheckBox
  3. Private Sub WorkCheck_Click()
  4.     'WorkCheck 有勾選 傳回True  ,沒勾選 傳回 Fales
  5.     WorkCheck.Parent.TextBox1 = IIf(WorkCheck, WorkCheck.Caption, "")
  6. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# wenxiao
  1. Option Explicit
  2. Public WithEvents WorkCheck As MSForms.CheckBox
  3. Private Sub WorkCheck_Click()
  4.     Dim Msg As Boolean, E As Object
  5.     'WorkCheck 有勾選 傳回True  ,沒勾選 傳回 Fales
  6.     With WorkCheck.Parent
  7.         If WorkCheck Then
  8.             .TextBox1 = WorkCheck.Name
  9.         Else
  10.             For Each E In .OLEObjects
  11.                 If E.progID = "Forms.CheckBox.1" Then
  12.                     If E.Object.Value Then Msg = True: Exit For
  13.                 End If
  14.             Next
  15.             If Msg = False Then .TextBox1 = ""
  16.         End If
  17.     End With
  18. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 人生最大的成就是從失敗中站起來。
返回列表 上一主題