Excel 将数据从一个工作簿复制到另一个“需要对象”
我目前正在做一个VBA项目,它需要从一个工作簿复制到另一个工作簿,WBookPst是我第一次打开使用的工作簿,而WBookCopy是我根据链接打开的工作簿,我在第一个工作簿的Sheet1中列出了文件中的所有.xslt格式。这是我的密码:Excel 将数据从一个工作簿复制到另一个“需要对象”,excel,vba,object,paste,Excel,Vba,Object,Paste,我目前正在做一个VBA项目,它需要从一个工作簿复制到另一个工作簿,WBookPst是我第一次打开使用的工作簿,而WBookCopy是我根据链接打开的工作簿,我在第一个工作簿的Sheet1中列出了文件中的所有.xslt格式。这是我的密码: Sub SortFiles() 'Set up your variables and turn off screen updating. 'Dim iCounter As Integer Application.ScreenUpdati
Sub SortFiles()
'Set up your variables and turn off screen updating.
'Dim iCounter As Integer
Application.ScreenUpdating = False
'Sort the rows based on the data in column C
Columns("A:C").Sort key1:=Range("C2"), _
order1:=xlDescending, Header:=xlYes
Application.ScreenUpdating = True
Dim WBookCopy As Workbook
Dim WBookPst As Workbook
Dim filePath As String
Dim sheetName As String
Dim sheetCopy As Worksheet
Dim sheetPate As Worksheet
Dim rngCopy As Range
Dim rngPst As Range
filePath = Range("B2").Value
Set WBookCopy = Workbooks.Open(filePath)
Columns(30).Insert
For i = 1 To Sheets.count
Cells(i, 30) = Sheets(i).Name
Next i
sheetName = Range("AD1").Value
Set sheetCopy = WBookCopy.Worksheets(sheetName)
Set rngCopy = sheetCopy.Range("A:AA").Copy
Set WBookPst = ThisWorkbook
Set sheetPaste = WBookPst.Worksheets("Sheet1").Activate
Set rngCopy = sheetPaste.Range("A:AA").Select
ActiveSheet.Paste
End Sub
在设置rngCopy=sheetCopy.RangeA:AA.Copy时,需要错误对象
这是什么意思?
顺便问一下,我如何在工作表之间复制和粘贴数据正确吗?问题在于rngCopy的类型是range,您不能将其设置为方法副本。删除。副本,您应该会没事的。您也不需要将工作表输出范围设置为变量。您可以只做一行,上面写着WBookCopy.SheetName.RangeA:AA.copy,然后再做另一行粘贴。正如@Wyatt提到的那样-您的复制粘贴语法不正确 以下是两种方法:
Worksheets("Sheet1").Range("A:AA").Copy
Worksheets("Sheet2").Range("A1").PasteSpecial xlPasteAll
或
谢谢它确实删除了错误,但我不知道如何将该值粘贴到我第一次打开的工作簿中。我上面的编码正确吗?@paul的答案回答了您关于如何粘贴数据的问题。不管答案是什么,都可以随意标记appropriate@wyatt解决了错误!谢谢保罗的帮助
Worksheets("Sheet1").Range("A:AA").Copy Destination:=Worksheets("Sheet2").Range("A1")