2016-09-14 67 views
1

我正在嘗試將公式填充到相鄰列的底部單元格。具體填寫列A到B列中找到的底行,我可以使用下面的代碼實現這一點:將單元格填充到相鄰列最後一個單元格NOT從頂行

LastRow = Range("B" & Rows.Count).End(xlUp).Row 
Range("A2").AutoFill Destination:=Range("A2:A" & lastRow) 

的問題是,當文件被更新,我需要的出發點(從向下填充)充滿活力。文件第一次運行時,上面的代碼工作,因爲文件是空的。然而,第二次列A可能有數據到第100行,B列可能有數據到200.所以我不能讓A2在FillDown開始。它需要從列A中的第一個空單元開始(在列A中從來沒有空單元,直到數據的底部)。

我該如何讓起點動態呢?

此代碼:

Range("A" & Rows.Count).End(xlUp).Offset(1).Select 

選擇「起點」我正在尋找時,已經在列中的數據,但我似乎無法配合,在我現有的代碼。

謝謝!

+0

是否與反覆向下填充整個列的問題嗎?除非你有一個巨大的數據集,否則你可能不會注意到這個差異,只是填充空單元格。 –

+0

@TimWilliams A列是工作完成時的對應日期(每月說一次)。所以我需要保留列A中已經存在的值,但爲所有添加到工作表中的新行插入新的日期。我回答了你的答案,但我需要保持日期(列A)在每一行都是一樣的。你能建議如何做到這一點?基本上是在A列中最後一個填充的單元格與B列中具有數據的最後一行之間進行復制和粘貼。 – RugsKid

+0

@TimWilliams新的編輯工作就像一個魅力。非常感謝 ! – RugsKid

回答

1
LastRowA = Range("A" & Rows.Count).End(xlUp).Row 
LastRowB = Range("B" & Rows.Count).End(xlUp).Row 

'Fill down (will auto-increment) 
Range("A" & LastRowA).AutoFill Destination:=Range("A" & LastRowA & ":A" & LastRowB) 

'EDIT: fill with same fixed value... 
Range("A" & (LastRowA+1) & ":A" & LastRowB).Value = Range("A" & LastRowA).Value 
+0

非常感謝!這工作正常。但是,列A是一個日期,我現在看到自動填充功能使日期每行增長一天。有沒有辦法填補,但保持價值靜態? (更像複製和粘貼)我需要複製的值總是在列A的最後一行。 – RugsKid

+0

請參閱上面的我的編輯 –

1

如果你只是想向下填充公式:

Range("A2:A" & Range("B" & Rows.Count).End(xlUp).Row).FillDown

相關問題