代码之家  ›  专栏  ›  技术社区  ›  giorgi lomidze

将范围从一个工作簿复制到另一个工作簿

  •  0
  • giorgi lomidze  · 技术社区  · 7 年前

    在本规范中,除图纸RCB外,其他一切均有效。调试在第12行打开

    Sub Budget()
    With Workbooks.Add
    ActiveSheet.Name = "RC"
    ThisWorkbook.Worksheets("RC").Range("A:D").Copy .Worksheets("RC").Range("A1")
    ThisWorkbook.Worksheets("RC").Range("E:G").Copy .Worksheets("RC").Range("E1")
    Sheets.Add
    ActiveSheet.Name = "RI"
    ThisWorkbook.Worksheets("RI").Range("A:E").Copy .Worksheets("RI").Range("A1")
    ThisWorkbook.Worksheets("RI").Range("G:G").Copy .Worksheets("RI").Range("G1")
    Sheets.Add
    ActiveSheet.Name = "RCB"
    ThisWorkbook.Worksheets("RCB").Range("A:C").Copy .Worksheets("RCB").Range("A1")
    ThisWorkbook.Worksheets("RCB").Range("E:E").Copy .Worksheets("RCB").Range("G1")
    .SaveAs "C:\Users\lomid\Desktop\4finansi3"
    .Close
    End With
    End Sub
    

    我认为它必须是关于活动工作表和工作簿的。

    0 回复  |  直到 7 年前
        1
  •  0
  •   GMalc    7 年前

    你可以省去所有的复制/粘贴。当你使用 SaveAs 若要保存当前工作簿,原始工作簿将关闭而不保存,新工作簿将打开。从你的问题中我可以看出,你只想保留某些列。我喜欢删除您不想要的列,然后执行以下操作: 萨维亚斯 Application.DisplayAlerts = False The following features cannot be saved in macro-free workbooks: 促使

    Application.DisplayAlerts = False
        With ThisWorkbook
            .Sheets("RC").Range("H:Z").EntireColumn.Delete
            .Sheets("RI").Range("H:Z, F:F").EntireColumn.Delete
            .Sheets("RCB").Range("F:Z, D:D").EntireColumn.Delete
    
            .SaveAs "C:\Users\lomid\Desktop\4finansi3.xlsx"
        End With
    Application.DisplayAlerts = True 
    
    推荐文章