Board logo

標題: [發問] 如何讓Userform 或是 MultiPage 恢復到Userform1.show 的狀態 [打印本頁]

作者: PKKO    時間: 2015-6-12 21:26     標題: 如何讓Userform 或是 MultiPage 恢復到Userform1.show 的狀態

因為某個選項,選了之後所有資料都要先清空(回到原始狀態)

但因為MultiPage上的原件太多,一個一個清有點辛苦
用物件類別清也可以,但是有許多不同的種類

應該有更輕鬆的程式碼,可以讓她回到userform1.show 的時候吧?(所有資料都清空)
作者: GBKEE    時間: 2015-6-13 15:38

回復 1# PKKO
  1. Option Explicit
  2. Private Sub UserForm_Click() '在表單上按下左鍵的事件
  3.     Ex
  4. End Sub
  5. Private Sub Ex()
  6.     Dim i As Integer, f As Control
  7.     With MultiPage1
  8.         .Value = 0          'MultiPage1的顯示為 第一頁
  9.         For i = 0 To .Count - 1
  10.             For Each f In .Pages(i).Controls
  11.                 Select Case TypeName(f)  '控制項的名稱
  12.                     Case "OptionButton", "CheckBox", "ToggleButton"
  13.                         f.Value = False
  14.                     Case "TextBox"
  15.                         f.Value = ""
  16.                 End Select
  17.             Next
  18.         Next
  19.     End With
  20. End Sub
複製代碼

作者: PKKO    時間: 2015-6-15 14:35

本帖最後由 PKKO 於 2015-6-15 14:37 編輯

回復 2# GBKEE
感謝超版大大,根據您的程式碼,我新增了ComboBox 然後加上一個條件,可以完全符合我的需求,感謝哦!
  1.     '清除資料
  2.     Dim i As Integer, f As Control
  3.     With MultiPage1
  4.         .Value = 0: i = 0       'MultiPage1的顯示為 第一頁
  5.             For Each f In .Pages(i).Controls
  6.                 Select Case TypeName(f)  '控制項的名稱
  7.                     Case "OptionButton", "CheckBox", "ToggleButton"
  8.                         f.Value = False
  9.                     Case "TextBox", "ComboBox"
  10.                         If f.Name <> "KEY1" Then f.Value = ""
  11.                 End Select
  12.             Next
  13.     End With
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)