【问题标题】:Copying data from one Worksheet to another将数据从一个工作表复制到另一个
【发布时间】:2022-08-23 02:42:46
【问题描述】:

我有处理和消除质谱数据的代码(有效)。

我有另一个命令从其工作表中复制该数据并将其粘贴到具有宏(Sheet1)的同一张表中。它将一行代码而不是 proteinGroups 中的信息粘贴到工作表中。

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

我尝试的每一次命令迭代都会将数据粘贴到一个新的随机工作簿中。

  • Worksheets(\"proteinGroups\").Copy 创建一个新的单工作表工作簿,其中包含工作表\"proteinGroups\"。您能否解释一下您要复制什么(范围、工作表?)以及复制到哪里(工作表名称和工作簿名称)?

标签: excel vba copy-paste


【解决方案1】:

UsedRange 复制到另一个工作簿

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

【讨论】:

    猜你喜欢
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多