В этой статье будет показано, как использовать VBA для копирования диапазона ячеек на другой лист или книгу.
Для получения дополнительной информации прочитайте наше руководство по копированию и вставке VBA.
Копировать на существующий лист
Чтобы скопировать диапазон ячеек с одного листа на другой, который уже существует, мы можем использовать следующий код:
123456 | Sub CopyAndPasteActiveSheet.Range ("A1: D10"). ВыберитеSelection.CopyТаблицы ("Лист2"). ВыберитеActiveSheet.PasteКонец подписки |
Это скопирует информацию, хранящуюся в активном диапазоне листов A1: D10, и вставит ее в существующий Sheet2. Поскольку мы не указали диапазон для выбора на листе 2, он автоматически вставляется в диапазон («A1»). Он также вставит любое форматирование в лист 2, которое было в диапазоне на листе 1.
Если мы хотим вставить его в другое место на листе 2, мы можем выбрать начальную ячейку или диапазон для вставки. Приведенный ниже код вставит информацию, начиная с ячейки E2.
1234567 | Sub CopyAndPasteToRangeActiveSheet.Range ("A1: D10"). ВыберитеSelection.CopyТаблицы ("Лист2"). ВыберитеДиапазон ("E1"). ВыберитеActiveSheet.PasteКонец подписки |
Чтобы просто вставить значения в лист 2 и не включать форматирование, мы можем использовать следующий код. Еще раз, нам не нужно указывать диапазон для страницы, если мы хотим вставить в ячейку A1.
123456 | Sub CopyAndPasteValuesActiveSheet.Range ("A1: D10"). ВыберитеSelection.CopyТаблицы ("Лист2"). ВыберитеSelection.PasteSpecial Paste: = xlPasteValuesКонец подписки |
Копировать на новый лист
Чтобы скопировать, а затем вставить на новый лист, мы можем использовать следующий код:
123456 | Sub CopyAndPasteNewSheetActiveSheet.Range ("A1: D10"). ВыберитеSelection.CopyТаблицы.Добавить после: = ActiveSheetActiveSheet.PasteКонец подписки |
Чтобы просто скопировать значения, мы снова можем использовать xlPasteValues.
Копировать в существующую книгу
Чтобы полностью скопировать и вставить в другую книгу, мы можем либо открыть обе книги, либо использовать код, чтобы открыть другую книгу, а затем вставить в эту книгу.
Этот код ниже копируется в существующую книгу, которая уже открыта.
1234567 | Sub CopyAndPasteExistingBookДиапазон ("A1: D10"). ВыберитеSelection.CopyWindows ("CombinedBranches.xlsx"). АктивироватьТаблицы.Добавить после: = ActiveSheetActiveSheet.PasteКонец подписки |
Программирование на VBA | Генератор кода действительно работает для вас!
Этот код ниже будет скопирован и вставлен на новый лист во второй книге, которая будет открыта кодом.
1234567 | Sub CopyAndPasteOpenWorkbookДиапазон ("A1: D9"). ВыберитеSelection.CopyWorkbooks.Open Filename: = "C: \ ExcelFiles \ CombinedBranches.xlsx"Таблицы.Добавить после: = ActiveSheetActiveSheet.PasteКонечный лист |
СОВЕТ: замените имя файла в аргументе Workbooks.Open своим собственным именем!
Копировать в новую книгу
Мы также можем скопировать и вставить в новую книгу.
123456 | Sub CopyAndPasteNewWorkbookДиапазон ("A1: D9"). ВыберитеSelection.CopyРабочие тетради. ДобавитьActiveSheet.PasteКонец подписки |