繁体   English   中英

将单元格值复制并粘贴到列的最后一行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM