0

我有一个由各种名称组成的 A 列。我试图弄清楚如何将所选项目复制到 F 列的第一个空单元格中。这是我到目前为止所做的:

Sub CopyFill()
If Range("F3") = Empty Then
    ActiveCell.Copy Range("F3")
ElseIf Range("F3") <> Empty Then
    ActiveCell.Copy Range("F3").Offset(1, 0)
End If
End Sub

但问题是我无法理解如何在这里应用 DoUntil 函数以保持偏移,直到我找到一个空单元格,然后 Excel 将用我当前的选择填充该单元格。

非常感谢您的时间和关注。

PS 我使用 F3 是因为这是我在这个文件中的专栏开始的地方。

4

1 回答 1

1

实现您想要的最有效的方法是以下代码行:

ActiveCell.Copy Range("F:F").Find(What:="", After:=Range("F3"), LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        假,搜索格式:=假)

.Find完全满足您的需求。

如果您想手动执行循环(这会慢得多),您可以使用以下代码:

子 CopyFill()
    调暗为范围

    设置 rng = Range("F3")
    而 rng.Value ""
        设置 rng = rng.Offset(1)
    文德

    ActiveCell.Copy rng

结束子

While Condition ... Wend您也可以使用Do While condition ... Loopor代替Do Until Not condition ... Loop

于 2013-02-11T13:22:00.977 回答