返回列表 上一主題 發帖

[發問] 請教UserForm內有多個TextBox要如何簡化程序(感謝)

回復 1# changxxx



UserForm的程式碼
  1. Option Explicit
  2. Dim UserForm_Text(1 To 69) As New Class1 '宣告變數為新的物件模組
  3. Private Sub UserForm_Initialize()
  4.     Dim i As Integer
  5.     For i = 1 To UBound(UserForm_Text)
  6.         Set UserForm_Text(i).Class_TextBox = Controls("textbox" & i)
  7.         '物件模組的Class_TextBox 設定為 Controls("textbox" & i)
  8.     Next
  9. End Sub
複製代碼
物件類別模組的程式碼
  1. Option Explicit
  2. Public WithEvents Class_TextBox As MSForms.TextBox
  3. 'WithEvents 選擇性引數。表示 varname 是物件變數的關鍵字,且用來對應 ActiveX 物件所引發的事件。
  4. '僅適用於物件類別模組中。
  5. '您可以用 WithEvents 來個別宣告變數,但不可用來建立陣列,也不可與 New 同時使用。
  6. Private Sub Class_TextBox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  7.     With Class_TextBox
  8.         If KeyCode = 13 Then .Parent.TextBox70.Text = Val(.Parent.TextBox70.Text) + Val(.Text)
  9.     End With
  10. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題