Как скопировать или переместить листы с помощью кода VBA в Excel для Macintosh

Переводы статьи Переводы статьи
Код статьи: 288402 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

С помощью Microsoft Visual Basic для приложений (VBA) для копирования или перемещения листов в книге или между книгами. Это особенно полезно, если требуется переместить или скопировать много листов или если вы хотите сделать несколько копий листа.

Эта статья содержит примеры кода VBA для выполнения этих задач.

Дополнительная информация

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации Это включает, но не ограничивается, подразумеваемые гарантии товарности или пригодности для определенной цели. В данной статье предполагается, что вы знакомы с языком программирования предложенном и с помощью средств, которые используются для создания и отладки. Сотрудники службы поддержки Майкрософт могут пояснить конкретной процедуры, но они будут изменять примеры для реализации дополнительных возможностей или удовлетворения конкретных требований. Примечание В 2001 году Microsoft Excel для Macintosh без Microsoft Office 2001 для Mac Service Release 1 необходимо поместить код в отдельной книге листов, который выполняется копирование.

2001 Excel для Macintosh имелись неполадки при код VBA, который копирует листы находится в той же книге, как выполняется копирование листов.

Этой проблемы с набором исправлений 1 для Microsoft Office 2001 для Mac. Для получения дополнительных сведений об этой проблемы в 2001 году Excel для Macintosh, щелкните следующий номер статьи базы знаний Майкрософт:
286266Excel зависает при попытке скопировать лист в одной книге
:

Пример кода для копирования листов

Копировать определенный лист активной книги

Sub Copier1()
    'Replace "Sheet1" with the name of the sheet to be copied.
    ActiveWorkbook.Sheets("Sheet1").Copy _
       after:=ActiveWorkbook.Sheets("Sheet1")
End Sub
				

Копировать определенный лист активной книги в несколько раз


Sub Copier2()
    Dim x As Integer
    
    x = InputBox("Enter number of times to copy Sheet1")
    For numtimes = 1 To x
        'Loop by using x as the index number to make x number copies.
        'Replace "Sheet1" with the name of the sheet to be copied.
        ActiveWorkbook.Sheets("Sheet1").Copy _
           After:=ActiveWorkbook.Sheets("Sheet1")
    Next
End Sub
				

Скопируйте ActiveSheet несколько раз

Sub Copier3()
   Dim x As Integer
   
   x = InputBox("Enter number of times to copy active sheet")
   For numtimes = 1 To x
      'Loop by using x as the index number to make x number copies.
      ActiveWorkbook.ActiveSheet.Copy _
         Before:=ActiveWorkbook.Sheets("Sheet1")
         'Put copies in front of Sheet1.
         'Replace "Sheet1" with sheet name that you want.
   Next
End Sub
				

Один раз скопировать все листы книги

Sub Copier4()
   Dim x As Integer

   For x = 1 To ActiveWorkbook.Sheets.Count
      'Loop through each of the sheets in the workbook
      'by using x as the sheet index number.
      ActiveWorkbook.Sheets(x).Copy _
         After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
         'Puts all copies after the last existing sheet.
   Next
End Sub
				

Пример кода, чтобы переместить листы

Переместить активный лист в другое место в книге

Sub Mover1()
    ActiveSheet.Move _
       After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
       'Moves active sheet to end of active workbook.
End Sub
				

Переместить активный лист в другую книгу

Sub Mover2()
    ActiveSheet.Move Before:=Workbooks("Test.xls").Sheets(1)
    'Moves active sheet to beginning of named workbook.
    'Replace Test.xls with the full name of the target workbook you want.
End Sub
				

Перемещение нескольких листов в ActiveWorkbook в другую книгу

Sub Mover3()
   Dim BkName As String
   Dim NumSht As Integer
   Dim BegSht As Integer

   'Starts with second sheet - replace with index number of starting sheet.
   BegSht = 2
   'Moves two sheets - replace with number of sheets to move.
   NumSht = 2
   BkName = ActiveWorkbook.Name
    
    For x = 1 To NumSht
      'Moves second sheet in source to front of designated workbook.
      Workbooks(BkName).Sheets(BegSht).Move _
         Before:=Workbooks("Test.xls").Sheets(1)
         'In each loop, the next sheet in line becomes indexed as number 2.
      'Replace Test.xls with the full name of the target workbook you want.
    Next
End Sub
				

Ссылки

Microsoft Excel X для Mac и более поздних версий

Дополнительные сведения о методе Копировать из редактора Visual Basic Поиск в справке Microsoft Visual Basic В меню Справка Тип меню метод Copy, нажмите кнопку Поиск, а затем нажмите кнопку Просмотр «Метод copy». Список трех разделов. Выберите тот, который применяется к листам.

Дополнительные сведения о методе перехода из редактора Visual Basic Поиск в справке Microsoft Visual Basic В меню Справка Тип меню Перемещение метода, нажмите кнопку Поиск, а затем нажмите кнопку Просмотр «Переместить метод». Список трех разделов. Выберите тот, который применяется к листам.

2001 Excel для Macintosh

Для получения дополнительных сведений о метод Copy из редактора Visual Basic щелкните помощника, введите метод Copy, нажмите кнопку Поиск, а затем нажмите кнопку Просмотр «Скопировать метод (MS Excel VBA)».

Для получения дополнительных сведений о методе перехода из редактора Visual Basic щелкните помощника, введите Перемещение метода, нажмите кнопку Поиск, а затем нажмите кнопку Просмотр «Переместить метод (MS Excel VBA)».

Для получения дополнительных сведений о проблемах, связанных с копированием листов, содержащих код в той же книге щелкните следующий номер статьи базы знаний Майкрософт:
286266 XL2001: Excel зависает при попытке скопировать лист в одной книге

Выпуск Microsoft Excel 98 Macintosh

Для получения дополнительных сведений о метод Copy из редактора Visual Basic щелкните помощника, введите метод Copy, нажмите кнопку Поиск, а затем нажмите кнопку Просмотр «Скопировать метод (Microsoft Excel 97)».

Дополнительные сведения о методе перехода из редактора Visual Basic Помощник по Office, тип Перемещение метода, нажмите кнопку Поиск, а затем нажмите кнопку Просмотр «Переместить метод (Microsoft Excel 97)».

Свойства

Код статьи: 288402 - Последний отзыв: 6 октября 2011 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
Ключевые слова: 
dftsdahomeportal kbinfo kbmt KB288402 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:288402

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com