Vba 定义动态范围

Vba 定义动态范围,vba,excel,Vba,Excel,1) 我有一张名为C.a. 我想将范围从B$3复制到最后一个单元格(位于H列) 2) 然后将其粘贴到另一张名为2017 到下面的2个单元格(包含数据的列B的最后一个单元格) 我做了第二个,但是,不能定义第一个 Dim lastRow As String lastRow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row + 2 Range("B" & lastRow).Select Selection.PasteSpecial End

1) 我有一张名为
C.a.

我想将范围从
B$3
复制到最后一个单元格(位于
H列

2) 然后将其粘贴到另一张名为
2017

到下面的2个单元格(包含数据的列
B
的最后一个单元格)

我做了第二个,但是,不能定义第一个

Dim lastRow As String

lastRow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row + 2
Range("B" & lastRow).Select
Selection.PasteSpecial

End Sub
试试这个:

Dim ws_ca As Worksheet
Dim ws_17 As Worksheet
Dim nr_2017 As Long
Dim nr_ca As Long

Set ws_ca = ThisWorkbook.Worksheets("C.A.")
Set ws_17 = ThisWorkbook.Worksheets("2017")

nr_ca = ws_ca.Cells(Rows.Count, 8).End(xlUp).Row
nr_2017 = ws_17.Cells(Rows.Count, 2).End(xlUp).Row

ws_17.Range("B" & nr_2017 + 3 & ":H" & nr_2017 + nr_ca).Value = ws_ca.Range("B3:H" & nr_ca).Value

你在挣扎什么?你没有问任何问题。这不是免费的代码编写服务。我们很乐意帮助你自己的努力,如果你张贴你迄今为止。是最后一个编辑好让你考虑我付出了努力吗?我只是写代码不是为了不混淆其他人,也不是为了简单。您是否尝试过在手动执行所需操作时录制宏?它将为您提供大量的代码,您可以编辑这些代码以消除多余的行,并希望最终得到一些有用的东西。@MarkFitzgerald是的,我一开始就尝试过这样做,但我无法进行第一次复制,因为文件的长度每天都会发生变化。我不知道如何手动设置该动态范围。我只是没有尝试shift+end过程。我才意识到让我试试看。感谢you@MarkFitzgerald谢谢你,菲茨杰拉德先生,现在成功了。