[英]How To Copy Range of Last Row of Data and Paste into Row below It
我正在尝试创建一个宏来获取工作表上的最后一行数据并将其复制/粘贴到它之前的行中。 我需要它来获取列 BN 中的数据。 我只能使用下面的代码为 B 列执行此操作,但我无法弄清楚让它为 BN 列执行此操作的语法 - 有人可以帮忙吗?
Sub copylastrow()
Worksheets("Sheet1").Activate
Range("B" & Rows.Count).End(xlUp).Copy
Range("B" & Rows.Count).End(xlUp).Offset(1).PasteSpecial
End Sub
代码中的一些注释:
假设:
阅读评论并调整代码以满足您的需求。
代码
Public Sub CopyLastRow()
' Define the source sheet (no need to activate it)
Dim sourceSheet As Worksheet
Set sourceSheet = ThisWorkbook.Worksheets("Sheet1")
' Find the last row in an specific column
Dim lastRow As Long
lastRow = sourceSheet.Range("B" & sourceSheet.Rows.Count).End(xlUp).Row
' Set the source range according to columns and last row
Dim sourceRange As Range
Set sourceRange = sourceSheet.Range("B" & lastRow & ":N" & lastRow)
' Transfer values without copying them is faster
sourceRange.Offset(1).Value = sourceRange.Value
End Sub
让我知道它是否有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.