我一直在广泛研究这个问题,但我的研究结果都没有帮助我修复我的代码。
我正在尝试复制worksheet2
中的所有数据,并直接粘贴在worksheet1
(每月更改一次)的数据下。这是我到目前为止,但每次我尝试运行它,它说
运行时错误9'下标超出范围'。
Sub macro8()
Sheets("worksheet2").UsedRange.Copy Destination:=Sheets("worksheet1").End(xlUp).Offset(1, 0)
End Sub
答案 0 :(得分:1)
尝试:
Sub macro8()
Sheets("worksheet2").UsedRange.Copy Destination:=Sheets("worksheet1").UsedRange.End(xlDown).Offset(1, 0)
End Sub
编辑:
然后以正确的方式做。您可以更改列字母" A"用你的连续专栏的字母。
Sub macro8()
Dim Rng1 As Range, Rng2 As Range, ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("worksheet1")
Set ws2 = Worksheets("worksheet2")
Set Rng2 = ws2.UsedRange 'Copy range
Set Rng1 = ws1.Range("A" & ws1.Rows.Count).End(xlUp).Offset(1, 0) 'Paste range
Rng2.Copy Destination:=Rng1 'Copy/Paste
End Sub