当前位置: 首页 > 知识库问答 >
问题:

如何将多张工作表从一个工作簿复制到另一个工作簿;不复制VBA

严阳夏
2023-03-14

我正试图将所有工作表(7张)从workbook1(wb1)复制到WB2。wb1包含命令按钮,但我不希望它们出现在我的新工作簿中。我正在使用循环将单个工作表从一个工作簿复制到另一个工作簿。但是复制到第二张时出错了。我使用的代码如下:-

 Public Sub CommandButton1_Click()
    Dim wb1 As Workbook
    Dim wb2 As Workbook
    Dim i As Integer
    i = 1
    Set wb1 = ActiveWorkbook
    Set ws1 = ActiveSheet
    Set wb2 = Workbooks.Add
    With wb2
    .Title = "My Sales"
    .Subject = "Sales"
    .SaveAs Filename:="mysales.xls"
    End With
    For i = 1 To 7
    Dim row As Long
    Dim column As Long
    wb1.Activate
    wb1.Sheets(i).Activate
      column = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).column
      row = ActiveSheet.Range("A" & Rows.Count).End(xlUp).row
     Application.CutCopyMode = False
    ActiveSheet.Range(Cells(1, 1), Cells(row, column)).Select
     Selection.Copy
      wb2.Sheets(i).Range("A1").PasteSpecial
     Application.CutCopyMode = False
    next i
End Sub

循环第一次成功运行,但对于i=2,代码给出错误

共有1个答案

姚煜
2023-03-14
Sub M_snb()
  thisworkbook.sheets(array("one","two","three","four","five","six","seven")).copy

  do until activeworkbook.sheets("one").oleobjects.count=0
   activeworkbook.sheets("one").oleobjects(1).delete
  loop
  activeworkbook.saveas "G:\OF\new.xlsx",51
End Sub
 类似资料:
  • 试图从当前工作簿“Create Report.xlsm”中复制工作表名称“Headings Explantions”,该工作簿打开到我要求打开的工作簿中,我得到了下标超出范围的错误

  • 我需要一个宏,它可以根据我选择的单元格从我所在的工作簿中复制整行。我已经可以这样做了,使用以下方法: 但是,我需要它将其(格式化和全部)粘贴到关闭的工作簿的第一个空行(基于B列)。R: \dasboards\wo。xlsm公司

  • 我想将工作簿的一页(包括样式)复制到新的工作簿。 我尝试对所有单元格进行迭代 抛出java.lang.IllegalStateException:超出了单元格样式的最大数目。在.xls工作簿中最多可以定义4000个样式 抛出java.lang.IllegalArgumentException:此样式不属于提供的工作簿。是否尝试将样式从一个工作簿分配到另一个工作簿的单元格? 正确的样式复制方法是什么

  • 我写了下面的代码,并不断地看到。我试图克服这个问题,但似乎没有任何效果。我正试图从一个工作簿复制整个工作表,并将其粘贴到另一个工作簿中:

  • 所以在COL D中,我必须只粘贴COL A和COL C相等的值,如果这些值不相等,则跳过或粘贴COL D中的任何东西 我写过类似这样的代码,但不幸的是它粘贴了一切!!

  • 我有一本有工作表的工作簿。为了简单起见,假设我的工作簿有一个工作表。在我的工作表中,它被称为“SHEET1”,在单元格A1到A4中有数据。 我希望我的VBA代码做的是: 将工作簿“A”的第1行(或特别是单元格A1至A4)复制到范围变量“我的范围”中 创建一个新的工作簿,我们将此工作簿称为'B' 为工作簿'B'的默认“sheet1”指定一个新名称为“测试名称” 打开工作簿'B'(尽管我意识到VBA代