簡體   English   中英

復制2張VBA Excel

[英]Copy 2 sheets vba excel

我需要復制2張紙並保存在其他文件中。

我需要復制所有工作表“ Front”,並從工作表“ Cache”的底部添加Range(“ A2:N10”)

 Worksheets("Front").Copy With ActiveSheet.UsedRange .Value = .Value End With Set wbNew = ActiveWorkbook wbNew.SaveAs "C:\\______\\pl.xlsx" wbNew.Close True 

結果:新文件“ pl.xlsx”,其中A1:N25 =正面

A26:N43 =工作表緩存:D

有任何建議嗎?

Sub z()
Dim NewSheet, Cache1, Front1 As Worksheet
Dim LastRow As Integer
Set Front1 = ActiveWorkbook.Worksheets("Front")
Set Cache1 = ActiveWorkbook.Worksheets("Cache")
Front1.Copy
Set NewSheet = ActiveWorkbook.ActiveSheet
LastRow = Front1.UsedRange.Rows(Front1.UsedRange.Rows.Count).Row + 1
Cache1.Range("A2:N10").Copy
NewSheet.Cells(LastRow, 1).PasteSpecial
Application.CutCopyMode = False
End Sub

聲明工作表后,就很容易將數據四處移動。 我測試了這部分; 然后運行您的保存代碼

假設工作表“ Front”和“ Cache”在宏所在的工作簿中,則可以鍵入:

Sub main()
    Worksheets("Front").Copy '<--| this creates a new workbook with one worksheet that becomes the "active" one
    ThisWorkbook.Worksheets("Cache").Range("A2:N10").Copy '<--| 'ThisWorkbook' refers to the workbook the running macro resides in, no matter which is the "active" workbook
    Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial '<--| no need to qualify range references up to its worksheet to implicitly assume the "active" one  
    Application.CutCopyMode = False
End Sub

如果工作表“ Front”和“ Cache”不在宏所在的工作簿中,則可以鍵入:

Sub main2()
    Dim rngToCopy As Range

    Set rngToCopy = Worksheets("Cache").Range("A2:N10") '<--| set the range to copy before changing the "active" workbook with the worksheet 'Copy' method call        
    Worksheets("Front").Copy '<--| this creates a new workbook with one worksheet that becomes the "active" one
    rngToCopy.Copy '<--| copy the range you previously stored
    Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial '<--| no need to qualify range references up to its worksheet to implicitly assume the "active" one
    Application.CutCopyMode = False
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM