0

我有一个从一个电子表格复制数据的宏,我想将其粘贴到主电子表格中的下一个可用行。但是,它粘贴在我填充的最后一行。目前在第 620 行,我希望它粘贴在第 621 行,然后下次运行宏时,第 622 行等等

2019 年,我将从新电子表格的第 3 行开始。

Sub Paste()
'
' Paste Macro
'

'
    Range("B24:AQ24").Select
    Selection.copy
    Windows("Sales  - 2018.xlsx").Activate
    ActiveWindow.SmallScroll Down:=3
    Range("B620").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        True, Transpose:=False
    Windows( _
        "Invoice Company B Limited Partnership.xlsx" _
        ).Activate
End Sub

不确定如何在代码中定义下一个可用行。

谢谢阅读。

4

1 回答 1

0

你总是B24:AQ24在抄袭吗?

这将复制范围并粘贴到 中的下一个空白行(基于 B 列中 Sheet2的数据) Sales - 2018.xlsx

它是一行代码,_第一行末尾有一个续行符 ( )。

Public Sub Paste()

    ThisWorkbook.Worksheets("Sheet1").Range("B24:AQ24").Copy _
        Workbooks("Sales - 2018.xlsx").Worksheets("Sheet2").Cells(Rows.Count, 2).End(xlUp).Offset(1)

End Sub

要从第 3 行开始,只需在单元格中添加一个标题B2

ThisWorkbook指包含代码的工作簿。
您可能希望将其更改为Workbooks("Invoice Company B Limited Partnership.xlsx")(不包含任何代码,xlsx而不是xlsm.)

于 2018-12-18T15:05:01.497 回答