首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内部和内部- Listbox循环错误

问内部和内部- Listbox循环错误
EN

Stack Overflow用户
提问于 2017-06-29 05:21:42
回答 2查看 45关注 0票数 0
代码语言:javascript
复制
Dim InputCol, InputIndex, i As Long
Dim lb As ListBox
InputCol = 1

For i = 1 To 7
    Set lb = Me.Controls("ListBox" & i)
        For InputIndex = 0 To lb.ListCount - 1
            If lb.Selected(InputIndex) Then
                Sheets("Sheets2").Cells(1, InputCol) = Sheets("Sheet1").Range("Input" & i).Cells(InputIndex)
                InputCol = InputCol + 1
            End If
        Next
Next i

我试图使用上面的代码循环一个用户表单中的多个列表框。列表框从Sheet1上的命名范围派生数据,然后将标题传递给Sheet2。Sheet1范围与列表框按编号对齐。不幸的是,我收到了一个运行时错误“13”:引用行的类型错配:

代码语言:javascript
复制
Set lb = Me.Controls("ListBox" & i)

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-30 03:25:08

非常感谢Shai Rado为我指明了正确的方向。以下代码用于遍历用户窗体上的所有列表框,并将每个选定项传递给Sheet2上的标题行:

代码语言:javascript
复制
Private Sub CommandButton1_Click()
Dim InputCol As Long, InputIndex As Long, i As Long
Dim lb As Control
InputCol = 1

With lb
    For i = 1 To 7
        Set lb = Me.Controls("ListBox" & i)
            For InputIndex = 0 To lb.ListCount - 1
                If lb.Selected(InputIndex) Then
                    Sheets("Sheet2").Cells(1, InputCol) = _ 
                    Sheets("Sheet1").Range("Input" & i).Cells(InputIndex + 1)
                    InputCol = InputCol + 1
                End If
            Next
    Next i
End With
Unload Me
End Sub
票数 0
EN

Stack Overflow用户

发布于 2017-06-29 05:35:22

使用下面的代码循环遍历UserForm中的所有UserForm,并检查当前控件是否为ListBox。

Note:Dim InputCol, InputIndex, i As Long,意味着只有i被定义为Long,而InputCol和InputIndex被定义为As Variant。

码

代码语言:javascript
复制
Dim InputCol As Long, InputIndex As Long, i As Long
Dim lb As Control
InputCol = 1

' loop through all control in UserForm
For Each lb In Me.Controls
    ' check if current Control is a LitBox
    If TypeName(lb) = "ListBox" Then
        With lb
            ' rest of your code goes here

        End With          
    End If
Next lb
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44816899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档