2015-03-02 7 views
0

Я пытаюсь скопировать все листы (7 листов) из рабочей книги1 (wb1) в wb2. wb1 содержит командные кнопки, но я не хочу их в своей новой книге. Я использую цикл для копирования отдельных листов из одной книги в другую. но при копировании на второй лист появляется ошибка. Я использую код, как показано ниже: -Как скопировать несколько листов из одной книги в другую; без копирования VBA

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 

Loop работает успешно в первый раз, но я = 2, код дает ошибку

ответ

0
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 
+0

Вы можете уточнить? – dgilperez

Смежные вопросы