计数循环并报告当前迭代

Count loop and report current iteration

所以我正在制作的 Word 宏会弹出一个用户表单,您可以在其中输入数量 x(x 中的 1 个),它会根据输入的数量复制一行。 copy paste没问题,但是我需要根据数量报copy number。因此,例如,如果输入 4,则会创建四行,分别表示“1 of 1”、“1 of 2”、“1 of 3”和“1 of 4”,而不是所有四行都表示“1 of x “当他们都被复制粘贴时。基本上,x=n+1。我正在循环执行此操作,但无法将其输出。它会显示 1、1、1 和 3。我正在尝试弄清楚它是如何执行来修复它的,所以任何关于这个循环是如何运行的见解都会很棒!谢谢!

Dim i As Integer
Dim tbl As Table
Set tbl = ActiveDocument.Tables(1)

For i = 0 To Labels2.TextBox3.Value
tbl.Rows(1).Range.Copy
tbl.Rows(2).Range.Paste
i = i + 1

Set myrange = ActiveDocument.Content
myrange.Find.Execute FindText:="1 of " & Labels2.TextBox3.Value, Forward:=True
If myrange.Find.Found = True Then myrange.Text = "1 of " & i

Next i

我认为你的问题在于你在已经迭代了 i 的 for 循环中迭代 i 如果 Label2.TextBox3.value 是 4 那么你的由于您的 i = i + 1 行,循环只会 运行 3 次。我不完全遵循你的逻辑,但试试这个

Sub test()
    Dim i As Long
    Dim tbl As Table
    Set tbl = ActiveDocument.Tables(1)

    For i = 1 To Labels2.TextBox3.Value
        tbl.Rows(1).Range.Copy
        tbl.Rows(2).Range.Paste

        Set myrange = ActiveDocument.Content
        myrange.Find.Execute FindText:="1 of " & Labels2.TextBox3.Value, Forward:=True
        If myrange.Find.Found = True Then myrange.Text = "1 of " & i

    Next i
End Sub