[英]Excel - Copy and Paste a set range in the next empty row - not working when filtering
我有一個超過2000行的Excel文件。 我經常必須復制給定行的某些單元格並將其放在底部,添加新的數據行,因此我編寫了此簡單的VBA代碼(鏈接到熱鍵),將代碼的范圍從I列復制到S列活動行到底部的第一個空行。
除非我在使用“自動篩選”時運行它,否則它運行良好。 我沒有任何錯誤,它什么也沒做。
有任何想法嗎?
Sub copy1()
Sheets("DATABASE").Select
Range("I" & ActiveCell.Row & ":S" & ActiveCell.Row).Copy Sheets("DATABASE").Range("I" & Rows.Count).End(xlUp).Offset(1, 0)
End Sub
不知道這有多健壯,請嘗試以下方法:
Sub copy1()
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Worksheets("DATABASE")
With ws
Dim targetrange As Range
If .AutoFilterMode Then
Set targetrange = .Range("I" & .AutoFilter.Range.Offset(.AutoFilter.Range.Rows.Count, 0).Row)
Else
Set targetrange = .Range("I" & Rows.Count).End(xlUp).Offset(1, 0)
End If
.Range("I" & ActiveCell.Row & ":S" & ActiveCell.Row).Copy targetrange
End With
End Sub
參考文獻:
Vb輔助過濾后,將 Vish Mishra 標頭移到下面的下一個可見行
Datsmart TurnAutoFilterOn
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.