VBA遍历控件,并在指定的位置赋值

Sub 遍历控件并赋值()
    Dim ws As Worksheet
    Dim shp As Shape
    Dim ctrlName As String
    Dim ctrlValue As Integer
    
    Set ws = ThisWorkbook.Worksheets(1) ' 表示第一个工作表
    
    ' 设置控件名和对应位置的数组
    Dim controlArray() As Variant
    controlArray = Array(Array(1029, "E19"), _
                        Array(1295, "M19"))
    
    For Each shp In ws.Shapes
        ctrlValue = shp.OLEFormat.Object.Value
        ctrlName = shp.Name
        Debug.Print CStr(shp.ID) + " " + shp.Name
        ' 对比控件名与数组中的控件名
        For i = LBound(controlArray) To UBound(controlArray)
            If shp.ID = controlArray(i)(0) Then
                ' 根据控件值写入相应位置的值
                If ctrlValue > 0 Then
                    ws.Range(controlArray(i)(1)).Value = 1
                Else
                    ws.Range(controlArray(i)(1)).Value = 0
                End If
                Exit For
            End If
        Next i
    Next shp
End Sub

 

posted @   多见多闻  阅读(169)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示