我被困在如何完成具有一定结果的循环中。

我已附上我基本上想发生的事情的屏幕截图。

VBA将从B1开始,我希望VBA在右边的空列中循环,直到到达任何字符/字符串为止(结果可以出现在B1右边的任何单元格中,并且是可变单词。)找到一个包含任何字符的单元格,我想将其复制并将其移至B5。我有以下代码,除了它不断循环外,它几乎可以实现我想要的功能。

码:

Sub looptillnotempty()
    Dim notempty As Boolean
    notempty = False
    Do Until notempty
        If IsEmpty(ActiveCell) = True Then
            ActiveCell.Offset(0, 1).Select
        Else
            ActiveCell.Copy
            Range("C5").PasteSpecial Paste:=xlPasteFormulas
        End If
    Loop
    Range("C8").Select
End Sub


我要完成的工作:

excel - VBA遍历空列-LMLPHP

最佳答案

您可以使用Exit Do退出循环,如下所示:

Sub looptillnotempty()
    Dim notempty As Boolean
    notempty = False
    Do Until notempty
        If IsEmpty(ActiveCell) = True Then
            ActiveCell.Offset(0, 1).Select
        Else
            ActiveCell.Copy
            Range("B5").PasteSpecial Paste:=xlPasteFormulas
            Exit Do
        End If
    Loop
    Range("C8").Select
End Sub

10-06 01:34