1. 程式人生 > >VBA-批量刪除文字框內容(用類實現)

VBA-批量刪除文字框內容(用類實現)

1.首先,我們建立一個類,類裡面包含控制元件個數,並且有相應的方法,具體程式碼如下

Option Explicit
Private arr() As MSForms.TextBox
Private count As Integer '控制元件個數
'獲得文字框個數,將文字框存入陣列
Sub addcontrol(con As MSForms.TextBox)
    count = count + 1
    ReDim Preserve arr(1 To count) As MSForms.TextBox
    Set arr(count) = con
End Sub
'批量清空文字框
Sub cleartextbox()
    Dim i As Integer
    For i = 1 To UBound(arr)
        arr(i).Text = ""
        Next i
       
End Sub

2.我們來做一個窗體,其佈局和效果如下圖所示

3.要想把文字框中的內容全部清除,就要將所有的文字框選中,然後清空,具體程式碼如下所示

Option Explicit
Dim mytext As New clstexbox '建立一個物件

Private Sub CommandButton2_Click() '清空所有的文字框
    mytext.cleartextbox
End Sub

Private Sub UserForm_Initialize()
    Dim c As Control
        For Each c In Me.Controls '遍歷每一個控制元件
          If TypeName(c) = "TextBox" Then '控制元件型別為“TextBox”
           mytext.addcontrol c '將文字框新增入陣列
           End If
           Next
           

End Sub

4.效果如下所示,未按清空按鈕之前

按了清空按鈕之後,我們可以看到,只要是文字框的內容都被清空了