Vba 复制到不带剪贴板的动态范围
我尝试将值粘贴到不同工作表上的动态范围,而不使用剪贴板。当代码到达Range=Range部分时,它会出错,并声明“应用程序定义的或对象定义的错误”。有什么想法吗Vba 复制到不带剪贴板的动态范围,vba,excel,Vba,Excel,我尝试将值粘贴到不同工作表上的动态范围,而不使用剪贴板。当代码到达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")
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
单元格()
需要指向同一父级:Start.Range(Start.Cells(r,c),Start.Cells(1,1))
END()
查找最后的列和行Do Until .Cells(r, c).Value = ""
r = r + 1
Loop
r = r - 1
与:
.Cells(r1+1,1).调整大小(r,c).Value=Start.Cells(1,1).调整大小(r,c).Value
因此:
单元格()
需要指向同一父级:Start.Range(Start.Cells(r,c),Start.Cells(1,1))
END()
查找最后的列和行Do Until .Cells(r, c).Value = ""
r = r + 1
Loop
r = r - 1
与:
.Cells(r1+1,1).调整大小(r,c).Value=Start.Cells(1,1).调整大小(r,c).Value
因此:
.Range(.Cells(r1,1),.Cells(r1+r-1,c1)).Value=Start.Range(Start.Cells(r,c),Start.Cells(1,1)).Value
用父表限定每个范围对象。.Range(.Cells(r1,1),.Cells(r1+r-1,c1)).Value=Start.Range(Start.Cells(r,c),Start.Cells(1,1)).Value
用其父表限定每个范围对象。成功!我知道这只是一个小细节。感谢您的帮助/反馈!成功!我知道这只是一个小细节。感谢您的帮助/反馈!
Sub Test2()
Dim Start As Worksheet
Dim ED As Worksheet
Dim r As Long, c As Long, r1 As Long, c1 As Long
Set Start = Sheets("Start")
Set ED = Sheets("End")
With Start
c = .Cells(1, .Columns.Count).End(xlToLeft).Column
r = .Cells(.Rows.Count, c).End(xlUp).Row
End With
With ED
c1 = .Cells(1, .Columns.Count).End(xlToLeft).Column
r1 = .Cells(.Rows.Count, c1).End(xlUp).Row
.Cells(r1+1, 1).Resize(r, c).Value = Start.Cells(1, 1).Resize(r, c).Value
End With