使用vba进行偏移和调整大小

kir*_*irk 2 excel vba excel-vba

我对我认为简单的vba命令有一些问题:

Worksheets("Sheet").Range("namedrange_d").Resize(0, 4).Offset(6, 0).Copy _
  Destination:=Worksheets("Sheet1").Range("namedrange").Resize(0, 4).Offset(6, 0)
Run Code Online (Sandbox Code Playgroud)

我想复制5个单元格的默认范围,即参考单元格下面的7个单元格(namedrange_d).语法有什么问题?

Dic*_*ika 7

零不是调整大小的有效参数.如果要保留范围的原始大小,只需省略参数即可.否则,您需要明确指定行数和列数.以下是保持原始行数的方法

Worksheets("Sheet").Range("namedrange_d").Resize(, 4).Offset(6, 0).Copy _
  Worksheets("Sheet1").Range("namedrange").Resize(, 4).Offset(6, 0)
Run Code Online (Sandbox Code Playgroud)