[英]Copy and paste a cell value on the last row of a column
我面临一个小问题,我需要编写一个代码来复制一个单元格值并粘贴到一列的最后一行(在我的情况下是 L 列),这是我写的:
lastRow = ThisWorkbook.Sheets("RecordAccordo").Range("L" & ThisWorkbook.Sheets("RecordAccordo").Rows.Count).End(xlUp).Row
Range("B36").Copy
ThisWorkbook.Sheets("RecordAccordo").Range("L2:L" & lastRow).PasteSpecial Paste:=xlPasteValues
我的问题是单元格 B36 的值被粘贴在所有列 L 行上,而我只需要在找到的最后一行
您的错误基本上是您在粘贴值时引用了整个列: .Sheets("RecordAccordo").Range("L2:L" & lastRow)
。
正确的是.Sheets("RecordAccordo").Range("L" & lastRow)
但是我对您的代码进行了一些重构,使其更加精确和可读,并且向您展示了不需要复制/粘贴 - 因为您可以使用源和目标范围的value
属性
Public Sub copyValue()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("RecordAccordo")
Dim cSource As Range
Set cSource = ws.Range("B36")
Dim lastRow As Long
With ws
lastRow = .Range("L" & .Rows.Count).End(xlUp).Row
End With
Dim cTarget As Range
Set cTarget = ws.Range("L" & lastRow)
cTarget.Value = cSource.Value
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.