[英]Excel VBA - How to select Range down to first blank cell
我正在努力在Excel上為宏編寫代碼。 任何幫助,不勝感激:)
當前,我的代碼在“ Leaves Records”中選擇范圍C6:C10,並在“ Old Records”中的B2處插入,將所有單元格向下移動。 我想做完全相同的事情,但我不想復制C6:C10,而是要將“ Leaves Records”中的所有單元格從B2復制到B列中的第一個空白單元格。
這是我的代碼(復制C6:C10):
Sub CopyToFirstBlankCell()
Dim bookingWS As Worksheet, mainWS As Worksheet
Dim copyRng As Range
Set bookingWS = Sheets("Leaves Records")
Set mainWS = Sheets("Old Records")
Set copyRng = bookingWS.Range("C6:C10")
mainWS.Range("B2:B" & copyRng.Rows.Count + 1).Insert Shift:=xlDown
copyRng.Copy mainWS.Range("B2")
End Sub
謝謝!
如果我正確理解,可以嘗試執行以下操作:
Sub CopyToFirstBlankCell()
Dim bookingWS As Worksheet, mainWS As Worksheet
Dim copyRng As Range
Dim lastrow As Long
Set bookingWS = Sheets("Leaves Records")
Set mainWS = Sheets("Old Records")
lastrow = bookingWS.Cells(Rows.Count, "B").End(xlUp).Row
Set copyRng = bookingWS.Range("B2:B" & lastrow)
mainWS.Range("B2:B" & copyRng.Rows.Count + 1).Insert Shift:=xlDown
copyRng.Copy mainWS.Range("B2")
End Sub
這是簡單的代碼,用於復制單元格,直到出現空單元格為止:)
Dim i As Integer
i = 2
Do While Not IsEmpty(Sheets("Leaves Records").Cells(i, 2)) 'it'll iterate through B column
Sheets("Old Records").Cells(i, 2).Value = Sheets("Leaves Records").Cells(i, 2).Value
i = i + 1
Loop
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.