我有一大塊代碼在其中處理和消除質譜資料(作業正常),但隨后我有另一個命令從其作業表中復制該資料并將其粘貼到具有宏(Sheet1)的同一張表中。每當我運行該命令時,它會將一行代碼而不是 proteinGroups 中的資訊粘貼到作業表中,并且我從 google 或 stackoverflow 嘗試的每次命令迭代都只是將資料粘貼到一個新的隨機作業簿中。
有問題的代碼:
Set wb = Workbooks.Open("C:\Users\X241066\Downloads\PGroupTest.xlsm")
myFile = "C:\Users\X241066\Desktop\Pgroup\proteinGroups.xls"
Workbooks.Open myFile
Worksheets("proteinGroups").Copy
Workbooks("ProteinGroups.xls").Close SaveChanges:=True
wb.Activate
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("E1")
Application.CutCopyMode = False
uj5u.com熱心網友回復:
復制UsedRange到另一個作業簿
Worksheet.UsedRange propertyRange.Copy method在 上
Worksheet.Copy method page,宣告如下:
如果您未指定之前或之后,Microsoft Excel 將創建一個包含復制的 Worksheet 物件的新作業簿。
Option Explicit
Sub CopyProteinGroups()
' Source (Copy FROM (Read))
Dim swb As Workbook
Set swb = Workbooks.Open("C:\Users\X241066\Desktop\Pgroup\proteinGroups.xls")
Dim sws As Worksheet: Set sws = swb.Worksheets("ProteinGroups")
Dim srg As Range: Set srg = sws.UsedRange
' Destination (Copy TO (Write))
Dim dwb As Workbook
Set dwb = Workbooks.Open("C:\Users\X241066\Downloads\PGroupTest.xlsm")
Dim dws As Worksheet: Set dws = dwb.Worksheets("Sheet1")
Dim dfCell As Range: Set dfCell = dws.Range("E1")
' Copy
srg.Copy dfCell
' Save and/or Close
swb.Close SaveChanges:=False ' no need to save; it was only read from
' dwb.Close SaveChanges:=True ' save when you're done; it was written to
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/429223.html
上一篇:如何在VBA中完成子程式?
