用excel复制两张表格



我需要复制两张图纸,并保存在其他文件中。

我需要复印所有的表格"正面"底部添加纸张"缓存"的范围("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

有什么建议吗?

假设工作表"Front"one_answers"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"one_answers"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
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

一旦声明了Sheets,就很容易将数据四处推送。我测试了这个部分;然后运行保存代码

最新更新