对于具有命名对象的循环

时间:2016-07-15 00:57:20

标签: vba for-loop ms-word label word-vba

我有200个标签(传统控制工具),我已链接到Excel电子表格。我想使用For循环来填充这200个标签,而不必为每个标签分别编写200行代码。

目前,我使用以下代码行来引入excel单元格数据:
ThisDocument.A0.Caption = exWb.Sheets(" Macro")。Cells(1,1)

我想迭代" A0"部分(标签中的1个名称)。

我已经知道如何迭代Cells(1,1)。

1 个答案:

答案 0 :(得分:0)

此循环遍历所有控件,直到找到Label控件,然后赋值exWb.Sheets("Macro").Cells(iRow, 1).Value。将iRow增加1,然后循环,直到找到下一个Label控件等

Dim lbl As Control
Dim iRow as Integer
iRow = 1

For Each lbl In Me.Controls
    If TypeOf lbl Is MSForms.Label Then
            lbl.Caption = exWb.Sheets("Macro").Cells(iRow, 1).Value
            i = i + 1
    End If
Next lbl