Vba 直到我无法在用户定义的范围内循环

Vba 直到我无法在用户定义的范围内循环,vba,excel,Vba,Excel,这是讨论的继续 以下代码采用单元格D2中的值,并在使用“标记名”一词的所有实例中,将其值填充到原始文本中。 然后它在loopText范围内循环并生成正确的文本范围。 我希望使用Do UntilEmpty命令循环,以便loopText范围取决于用户范围输入,比如说,如果用户填充单元格D2:D54,那么所有这些都将执行 下面是我的代码,但我不断收到运行时错误'91' 对象变量或未设置块变量 请帮忙。 谢谢 试试这个: 您只需要两个循环,第一个循环已更改为执行您正在寻找的操作 Sub CommandB

这是讨论的继续

以下代码采用单元格D2中的值,并在使用“标记名”一词的所有实例中,将其值填充到原始文本中。 然后它在loopText范围内循环并生成正确的文本范围。 我希望使用Do UntilEmpty命令循环,以便loopText范围取决于用户范围输入,比如说,如果用户填充单元格D2:D54,那么所有这些都将执行

下面是我的代码,但我不断收到运行时错误'91'

对象变量或未设置块变量

请帮忙。 谢谢

试试这个:

您只需要两个循环,第一个循环已更改为执行您正在寻找的操作

Sub CommandButton21_Click()
Dim correctedText As Range
Dim OriginalText As Range
Dim loopText As Range
Dim i As Long
Dim cel As Range
Dim cel2 As Range
Dim j As Long

Set correctedText = Range("B10")
Set OriginalText = Range("H3:H20")
Set loopText = Range("D2")
i = 0
j = 0
Columns(2).Clear

Do Until IsEmpty(loopText.Offset(j).Value)

    For Each cel In OriginalText
        correctedText.Offset(i).Value = Replace(cel.Value, "tagname", loopText.Offset(j).Value)
        i = i + 1
    Next cel
    j = j + 1
Loop

End Sub
试试这个:

您只需要两个循环,第一个循环已更改为执行您正在寻找的操作

Sub CommandButton21_Click()
Dim correctedText As Range
Dim OriginalText As Range
Dim loopText As Range
Dim i As Long
Dim cel As Range
Dim cel2 As Range
Dim j As Long

Set correctedText = Range("B10")
Set OriginalText = Range("H3:H20")
Set loopText = Range("D2")
i = 0
j = 0
Columns(2).Clear

Do Until IsEmpty(loopText.Offset(j).Value)

    For Each cel In OriginalText
        correctedText.Offset(i).Value = Replace(cel.Value, "tagname", loopText.Offset(j).Value)
        i = i + 1
    Next cel
    j = j + 1
Loop

End Sub

谢谢你,斯科特·克兰纳!谢谢你,斯科特·克兰纳!