Excel 将范围对象从一个工作簿复制到另一个工作簿
我尝试将一个范围从一个工作簿(使用vba excel打开)复制到另一个工作簿(此工作簿) 使用此代码:Excel 将范围对象从一个工作簿复制到另一个工作簿,excel,vba,Excel,Vba,我尝试将一个范围从一个工作簿(使用vba excel打开)复制到另一个工作簿(此工作簿) 使用此代码: Sub Get() Dim LastRow As Long With wbKA.Worksheets("Sheet1") LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row .Range(.Cells(5, 1), .Cells(LastRow, 1)).Copy .Range(.Cells(
Sub Get()
Dim LastRow As Long
With wbKA.Worksheets("Sheet1")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Range(.Cells(5, 1), .Cells(LastRow, 1)).Copy
.Range(.Cells(5, 1), .Cells(LastRow, 1)).Copy Destination:=ThisWorkbook.Worksheets("SheetB").Range("A6")
调试器将突出显示
.Range(.Cells(5,1),.Cells(LastRow,1)).Copy Destination:=此工作簿。工作表(“SheetB”).Range(“A6”)
行,错误为复制方法无法应用于Range对象。第一个copy方法(我刚刚插入以检查是否在没有目标部件的情况下发生错误)贯穿整个过程。我将代码复制到另一个工作簿中,在该工作簿中,我仅将复制目标复制模式应用到一个工作簿,并且它正在工作。谁能告诉我,为什么这不起作用?wbKA工作簿可以很好地打开,我实际上可以执行我需要的所有操作(搜索、将值粘贴到数组中等等),只是复制操作不起作用。因为您使用的是Excel,所以不需要打开新实例。这就造成了复制问题。试试这个(未经测试)
评论的后续行动。
使用不同的Excel实例时,不能使用rng.copy Dest.rng
。您必须先复制它,然后粘贴到下一行。看看这些例子
这不起作用
Sub Sample()
Dim xl As New Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
xl.Visible = True
Set wb = xl.Workbooks.Add
Set ws = wb.Sheets(1)
ws.Range("A1").Value = "Sid"
ws.Range("A1").Copy ThisWorkbook.Sheets(1).Range("A1")
End Sub
Sub Sample()
Dim xl As New Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
xl.Visible = True
Set wb = xl.Workbooks.Add
Set ws = wb.Sheets(1)
ws.Range("A1").Value = "Sid"
ws.Range("A1").Copy
ThisWorkbook.Sheets(1).Range("A1").PasteSpecial xlValues
End Sub
这将起作用
Sub Sample()
Dim xl As New Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
xl.Visible = True
Set wb = xl.Workbooks.Add
Set ws = wb.Sheets(1)
ws.Range("A1").Value = "Sid"
ws.Range("A1").Copy ThisWorkbook.Sheets(1).Range("A1")
End Sub
Sub Sample()
Dim xl As New Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
xl.Visible = True
Set wb = xl.Workbooks.Add
Set ws = wb.Sheets(1)
ws.Range("A1").Value = "Sid"
ws.Range("A1").Copy
ThisWorkbook.Sheets(1).Range("A1").PasteSpecial xlValues
End Sub
你好谢谢你的回答,这个很好用。有趣的是,复制我的方式(尽管我不知道为什么)在这个环境中不起作用。这是因为在不同的excel实例中不能使用该语句。更新我的答案。