[VBA] 如何使用控制項陣列

[VBA] 如何使用控制項陣列

VBA本身沒有控制項陣列的功能,所以用起來格外麻煩。

1.宣告 myTextBox 陣列

2.使用For Each迴圈列舉控制項

3.依條件取出控制項


    '1.宣告 myTextBox陣列的型態
    Dim myTextBox() As Object
    Dim i, id
    id = 0
    '2.列舉TextBox控制項
    For Each i In Me.Controls
        '判斷類型名稱
        If TypeName(i) = "TextBox" Then
            '3.重組陣列大小並保存舊資料
            ReDim Preserve myTextBox(id)
            '4.取得控制項
            Set myTextBox(id) = i
            id = id + 1
        End If
    Next
    '列出所有 TextBox 的內容
    For i = 0 To UBound(myTextBox)
        Debug.Print myTextBox(i).Text
    Next
End Sub


                    

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo