2013-02-11 31 views
0

我有一列由各種名稱組成。我試圖找出如何選定項目複製到列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將填充我當前的選擇。

非常感謝您的時間和關注。

P.S.我正在使用F3,因爲在這個文件中列開始爲我。

回答

1

最有效的方式來實現你想要的是下面的代碼行:

 
ActiveCell.Copy Range("F:F").Find(What:="", After:=Range("F3"), LookIn:=xlFormulas, LookAt _ 
     :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ 
     False, SearchFormat:=False) 

.Find會做正是你需要的。

如果你想使用手動循環(這將是慢得多),你可以使用此代碼:

 
Sub CopyFill() 
    Dim rng As Range 

    Set rng = Range("F3") 
    While rng.Value "" 
     Set rng = rng.Offset(1) 
    Wend 

    ActiveCell.Copy rng 

End Sub 

而不是While Condition ... Wend你也可以使用Do While condition ... LoopDo Until Not condition ... Loop

+0

非常感謝您的幫助,Peter Albert! – Dan 2013-02-11 19:44:18

相關問題