【发布时间】:2017-10-12 17:42:10
【问题描述】:
我试图在不使用剪贴板的情况下将值粘贴到不同工作表上的动态范围。当代码到达 Range=Range 部分时,它会出错,指出“应用程序定义的或对象定义的错误”。有什么想法吗?
Sub Test2()
Dim Start As Worksheet
Dim ED As Worksheet
Dim r As Integer, c As Integer, r1 As Integer, c1 As Integer
Set Start = Sheets("Start")
Set ED = Sheets("End")
r = 1
c = ActiveSheet.UsedRange.Columns.Count
With Start
Do Until .Cells(r, c).Value = ""
r = r + 1
Loop
r = r - 1
End With
r1 = 1
c1 = ActiveSheet.UsedRange.Columns.Count
With ED
Do Until .Cells(r1, c1).Value = ""
r1 = r1 + 1
Loop
r1 = r1
Range(Cells(r1, 1), Cells(r1 + r - 1, c1)) = Start.Range(Cells(r, c), Cells(1, 1))
Start.Activate
【问题讨论】:
-
.Range(.Cells(r1, 1), .Cells(r1 + r - 1, c1)).Value = Start.Range(Start.Cells(r, c), Start.Cells(1, 1)).Value限定 EVERY 范围对象及其父工作表。