Вырезание, перемещение, копирование и вставка ячеек (диапазонов) в VBA Excel. Методы Cut, Copy и PasteSpecial объекта Range, метод Paste объекта Worksheet.
Метод Range.Cut
Range.Cut – это метод, который вырезает объект Range (диапазон ячеек) в буфер обмена или перемещает его в указанное место на рабочем листе.
Синтаксис
Параметры
Параметры | Описание |
---|---|
Destination | Необязательный параметр. Диапазон ячеек рабочего листа, в который будет вставлен (перемещен) вырезанный объект Range (достаточно указать верхнюю левую ячейку диапазона). Если этот параметр опущен, объект вырезается в буфер обмена. |
Для вставки на рабочий лист диапазона ячеек, вырезанного в буфер обмена методом Range.Cut, следует использовать метод Worksheet.Paste.
Метод Range.Copy
Range.Copy – это метод, который копирует объект Range (диапазон ячеек) в буфер обмена или в указанное место на рабочем листе.
Синтаксис
Параметры
Параметры | Описание |
---|---|
Destination | Необязательный параметр. Диапазон ячеек рабочего листа, в который будет вставлен скопированный объект Range (достаточно указать верхнюю левую ячейку диапазона). Если этот параметр опущен, объект копируется в буфер обмена. |
Метод Worksheet.Paste
Worksheet.Paste – это метод, который вставляет содержимое буфера обмена на рабочий лист.
Синтаксис
Worksheet.Paste (Destination, Link) |
Метод Worksheet.Paste работает как с диапазонами ячеек, вырезанными в буфер обмена методом Range.Cut, так и скопированными в буфер обмена методом Range.Copy.
Параметры
Параметры | Описание |
---|---|
Destination | Необязательный параметр. Диапазон (ячейка), указывающий место вставки содержимого буфера обмена. Если этот параметр не указан, используется текущий выделенный объект. |
Link | Необязательный параметр. Булево значение, которое указывает, устанавливать ли ссылку на источник вставленных данных: True – устанавливать, False – не устанавливать (значение по умолчанию). |
В выражении с методом Worksheet.Paste можно указать только один из параметров: или Destination, или Link.
Для вставки из буфера обмена отдельных компонентов скопированных ячеек (значения, форматы, примечания и т.д.), а также для проведения транспонирования и вычислений, используйте метод Range.PasteSpecial (специальная вставка).
Примеры
Вырезание и вставка диапазона одной строкой (перемещение):
Range(«A1:C3»).Cut Range(«E1») |
Вырезание ячеек в буфер обмена и вставка методом ActiveSheet.Paste:
Range(«A1:C3»).Cut ActiveSheet.Paste Range(«E1») |
Копирование и вставка диапазона одной строкой:
Range(«A18:C20»).Copy Range(«E18») |
Копирование ячеек в буфер обмена и вставка методом ActiveSheet.Paste:
Range(«A18:C20»).Copy ActiveSheet.Paste Range(«E18») |
Копирование одной ячейки и вставка ее данных во все ячейки заданного диапазона:
Range(«A1»).Copy Range(«B1:D10») |
In this Article
- Rows & Columns – Paste vs. Insert
- Copy & Paste Over Existing Row / Column
- Copy & Insert Row / Column
- Copy Entire Row
- Cut and Paste Rows
- Copy Multiple Rows
- Copy Entire Column
- Cut and Paste Columns
- Copy Multiple Columns
- Copy Rows or Columns to Another Sheet
- Cut Rows or Columns to Another Sheet
This tutorial will teach you how to copy (or cut) entire Rows or Columns using VBA. We cover copying and pasting ranges of cells in another article.
First we will show you how to paste or insert copied rows/columns and discuss the differences. Then we will show you all of the different ways to references rows and columns when copying or cutting.
Rows & Columns – Paste vs. Insert
When pasting rows and columns you have two options: You can paste over the existing row (or column) or you can insert a new row (or column).
Let’s look at the difference…
Copy & Paste Over Existing Row / Column
This will copy row 1 and paste it into the existing row 5:
Range("1:1").Copy Range("5:5")
This will copy column C and paste it into column E:
Range("C:C").Copy Range("E:E")
Copy & Insert Row / Column
Instead you can insert the copied row or column and shift the existing rows or columns to make room.
This will copy row 1 and insert it into row 5, shifting the existing rows down:
Range("1:1").Copy
Range("5:5").Insert
This will copy column C and insert it into column E, shifting the existing columns to the right:
Range("C:C").Copy
Range("E:E").Insert
Copy Entire Row
Below we will show you several ways to copy row 1 and paste into row 5.
Range("1:1").Copy Range("5:5")
Range("A1").EntireRow.Copy Range("A5")
Rows(1).Copy Rows(5)
Cut and Paste Rows
Simply use Cut instead of Copy to cut and paste rows:
Rows(1).Cut Rows(5)
Copy Multiple Rows
Here are examples of copying multiple rows at once:
Range("5:7").Copy Range("10:13")
Range("A5:A7").EntireRow.Copy Range("A10:A13")
Rows("5:7").Copy Rows("10:13")
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
Learn More
Copy Entire Column
You can copy entire columns similarily to copying entire rows:
Range("C:C").Copy Range("E:E")
Range("C1").EntireColumn.Copy Range("C1").EntireColumn
Columns(3).Copy Range(5)
Cut and Paste Columns
Simply use Cut instead of Copy to cut and paste columns:
Range("C:C").Cut Range("E:E")
Copy Multiple Columns
Here are examples of copying multiple columns at once:
Range("C:E").Copy Range("G:I")
Range("C1:E1").EntireColumn.Copy Range("G1:I1")
Columns("3:5").Copy Columns("7:9")
VBA Programming | Code Generator does work for you!
Copy Rows or Columns to Another Sheet
To copy to another sheet, simply use the Sheet Object:
Sheets("sheet1").Range("C:E").Copy Sheets("sheet2").Range("G:I")
Cut Rows or Columns to Another Sheet
You can use the exact same technique to cut and paste rows or columns to another sheet.
Sheets("sheet1").Range("C:E").Cut Sheets("sheet2").Range("G:I")
I’m trying to write a macro that copies the content of column 1 from sheet 1 to column 2 on sheet 2. This is how the module looks like but, when I run it, I get
Run time error 9, Subscript out of range.
Sub OneCell()
Sheets("Sheet1").Select
'select column 1 A1'
Range("A1:A3").Select
Selection.Copy
Range("B1:B3").Select
ActiveSheet.Paste
Sheets("Sheet2").Select
Application.CutCopyMode = False
End Sub
ZygD
21k39 gold badges77 silver badges98 bronze badges
asked Jan 2, 2010 at 4:38
The following works fine for me in Excel 2007.
It is simple, and performs a full copy (retains all formatting, etc.):
Sheets("Sheet1").Columns(1).Copy Destination:=Sheets("Sheet2").Columns(2)
«Columns» returns a Range object, and so this is utilizing the «Range.Copy» method. «Destination» is an option to this method — if not provided the default is to copy to the paste buffer. But when provided, it is an easy way to copy.
As when manually copying items in Excel, the size and geometry of the destination must support the range being copied.
answered Dec 18, 2012 at 1:19
DavidDavid
5455 silver badges13 bronze badges
Selecting is often unnecessary. Try this
Sub OneCell()
Sheets("Sheet2").range("B1:B3").value = Sheets("Sheet1").range("A1:A3").value
End Sub
answered Jan 2, 2010 at 21:12
guitarthrowerguitarthrower
5,6043 gold badges28 silver badges37 bronze badges
4
If you have merged cells,
Sub OneCell()
Sheets("Sheet2").range("B1:B3").value = Sheets("Sheet1").range("A1:A3").value
End Sub
that doesn’t copy cells as they are, where previous code does copy exactly as they look like (merged).
Basic
26.1k24 gold badges112 silver badges197 bronze badges
answered Feb 9, 2012 at 14:38
LucyLucy
212 bronze badges
I’m not sure why you’d be getting subscript out of range unless your sheets weren’t actually called Sheet1
or Sheet2
. When I rename my Sheet2
to Sheet_2
, I get that same problem.
In addition, some of your code seems the wrong way about (you paste before selecting the second sheet). This code works fine for me.
Sub OneCell()
Sheets("Sheet1").Select
Range("A1:A3").Copy
Sheets("Sheet2").Select
Range("b1:b3").Select
ActiveSheet.Paste
End Sub
If you don’t want to know about what the sheets are called, you can use integer indexes as follows:
Sub OneCell()
Sheets(1).Select
Range("A1:A3").Copy
Sheets(2).Select
Range("b1:b3").Select
ActiveSheet.Paste
End Sub
answered Jan 2, 2010 at 4:46
paxdiablopaxdiablo
844k233 gold badges1565 silver badges1937 bronze badges
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, r As Range
Set rng = Intersect(Target, Range("a2:a" & Rows.Count))
If rng Is Nothing Then Exit Sub
For Each r In rng
If Not IsEmpty(r.Value) Then
r.Copy Destination:=Sheets("sheet2").Range("a2")
End If
Next
Set rng = Nothing
End Sub
Juan Mellado
15k5 gold badges47 silver badges54 bronze badges
answered Mar 17, 2012 at 16:58
1
Louie77 Пользователь Сообщений: 17 |
#1 12.12.2016 12:23:51 Добрый день! ‘активируем книгу куда копируем
|
||
Sanja Пользователь Сообщений: 14838 |
#2 12.12.2016 12:31:40
Согласие есть продукт при полном непротивлении сторон. |
||
Louie77 Пользователь Сообщений: 17 |
Спасибо большое за помощь. Только я хочу спросить — если мне заранее неизвестно имя листа куда копируем, тогда как быть? Я могу узнать имя этого листа только открыв тот файл. |
Sanja Пользователь Сообщений: 14838 |
#4 12.12.2016 12:53:45 Можно имя заменить номером
Изменено: Sanja — 12.12.2016 12:53:54 Согласие есть продукт при полном непротивлении сторон. |
||
Louie77 Пользователь Сообщений: 17 |
Выдает ошибку Изменено: Louie77 — 12.12.2016 13:07:15 |
Louie77 Пользователь Сообщений: 17 |
Workbooks(«копирование столбцов.xlsx»).Worksheets(1).Columns(«A:A»).Copy На этой строке выходит Run-time error ‘9’: |
Sanja Пользователь Сообщений: 14838 |
#7 12.12.2016 14:03:47
Потому что в коде имя книги копирование столбцов.xlsx, а реально он называется копирование столбцов.xlsm Согласие есть продукт при полном непротивлении сторон. |
||
Louie77 Пользователь Сообщений: 17 |
Поменяла, теперь ругается этими же словами на вторую строчку, куда копируем. Там-то что ему не так? |
Louie77 Пользователь Сообщений: 17 |
Я может ошибаюсь, но Application.GetOpenFilename не возвращает ли нам весь путь к файлу? А нам ведь надо вынуть оттуда только имя с расширением? |
Sanja Пользователь Сообщений: 14838 |
#10 12.12.2016 14:26:08
Согласие есть продукт при полном непротивлении сторон. |
||||
Louie77 Пользователь Сообщений: 17 |
#11 12.12.2016 14:30:19 спасибо большое вам за помощь. У меня благодаря вам тоже получилось нечто. Не так красиво, как у вас, но тоже работает:
Спасибо еще раз огромное за вашу помощь. Изменено: Louie77 — 12.12.2016 14:31:49 |
||
Sanja Пользователь Сообщений: 14838 |
#12 12.12.2016 14:32:41
Согласие есть продукт при полном непротивлении сторон. |
||
Louie77 Пользователь Сообщений: 17 |
Это будет совсем хорошо, тогда макрос становится универсальным для меня |
Louie77 Пользователь Сообщений: 17 |
Пойду допишу в макрос еще сотню столбцов, это ведь был, так сказать , пробный. |
Kuzmich Пользователь Сообщений: 7998 |
#15 12.12.2016 14:56:23
Так она у вас и так активна ( при открытии книги) |
||
Louie77 Пользователь Сообщений: 17 |
Я знаю |
Louie77 Пользователь Сообщений: 17 |
#17 12.12.2016 15:12:52 Выложу сюда то, что получилось, вдруг кому пригодится
Изменено: Louie77 — 12.12.2016 15:17:19 |
||
Kuzmich Пользователь Сообщений: 7998 |
#18 12.12.2016 15:39:53
На мой взгляд
|
||||
Try this, it sets two ranges’ values equal, which will keep the data, but no formatting. It should be quicker.
Sub Macro1()
Dim wb1 As Workbook
'Set it to be the file location, name, and file extension of the Working File
Set wb1 = Workbooks.Open("Z:XXXWorking File.xlsx")
MsgBox "Copying Fields within Working File"
With wb1.Worksheets(1)
.Columns("H").Value = .Columns("G").Value
.Columns("O").Value = .Columns("J").Value
.Columns("N").Value = .Columns("K").Value
.Columns("P").Value = .Columns("M").Value
End With
wb1.Close SaveChanges:=True
End Sub
Note you’re using a whole column, so it might hang up or take a little longer. If you want, you can instead just get the last Row of each column and use that to shorten the ranges being copied.
Edit: As mentioned above, you may be better off using a smaller range. This is a little more verbose, but you should be able to follow what it’s doing:
Sub Macro1()
Dim wb1 As Workbook
Dim lastRow As Long
'Set it to be the file location, name, and file extension of the Working File
Set wb1 = ActiveWorkbook
MsgBox "Copying Fields within Working File"
With wb1.Worksheets(1)
lastRow = .Cells(.Rows.Count, "G").End(xlUp).Row
.Range("H1:H" & lastRow).Value = .Range("G1:G" & lastRow).Value
lastRow = .Cells(.Rows.Count, "J").End(xlUp).Row
.Range("O1:O" & lastRow).Value = .Range("J1:J" & lastRow).Value
lastRow = .Cells(.Rows.Count, "K").End(xlUp).Row
.Range("N1:N" & lastRow).Value = .Range("K1:K" & lastRow).Value
lastRow = .Cells(.Rows.Count, "M").End(xlUp).Row
.Range("P1:P" & lastRow).Value = .Range("M1:M" & lastRow).Value
End With
wb1.Close SaveChanges:=True
End Sub
Bottom line: Learn 3 different ways to copy and paste cells or ranges in Excel with VBA Macros. This is a 3-part video series and you can also download the file that contains the code.
Skill level: Beginner
Copy & Paste: The Most Common Excel Action
Copy and paste is probably one of the most common actions you take in Excel. It’s also one of the most common tasks we automate when writing macros.
There are a few different ways to accomplish this task, and the macro recorder doesn’t always give you the most efficient VBA code.
In the following three videos I explain:
- The most efficient method for a simple copy and paste in VBA.
- The easiest way to paste values.
- How to use the PasteSpecial method for other paste types.
You can download the file I use in these videos below. The code is also available at the bottom of the page.
Video #1: The Simple Copy Paste Method
You can watch the playlist that includes all 3 videos at the top of this page.
Video #2: An Easy Way to Paste Values
Video #3: The PasteSpecial Method Explained
VBA Code for the Copy & Paste Methods
Download the workbook that contains the code.
'3 Methods to Copy & Paste with VBA
'Source: https://www.excelcampus.com/vba/copy-paste-cells-vba-macros/
'Author: Jon Acampora
Sub Range_Copy_Examples()
'Use the Range.Copy method for a simple copy/paste
'The Range.Copy Method - Copy & Paste with 1 line
Range("A1").Copy Range("C1")
Range("A1:A3").Copy Range("D1:D3")
Range("A1:A3").Copy Range("D1")
'Range.Copy to other worksheets
Worksheets("Sheet1").Range("A1").Copy Worksheets("Sheet2").Range("A1")
'Range.Copy to other workbooks
Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1").Copy _
Workbooks("Book2.xlsx").Worksheets("Sheet1").Range("A1")
End Sub
Sub Paste_Values_Examples()
'Set the cells' values equal to another to paste values
'Set a cell's value equal to another cell's value
Range("C1").Value = Range("A1").Value
Range("D1:D3").Value = Range("A1:A3").Value
'Set values between worksheets
Worksheets("Sheet2").Range("A1").Value = Worksheets("Sheet1").Range("A1").Value
'Set values between workbooks
Workbooks("Book2.xlsx").Worksheets("Sheet1").Range("A1").Value = _
Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1").Value
End Sub
Sub PasteSpecial_Examples()
'Use the Range.PasteSpecial method for other paste types
'Copy and PasteSpecial a Range
Range("A1").Copy
Range("A3").PasteSpecial Paste:=xlPasteFormats
'Copy and PasteSpecial a between worksheets
Worksheets("Sheet1").Range("A2").Copy
Worksheets("Sheet2").Range("A2").PasteSpecial Paste:=xlPasteFormulas
'Copy and PasteSpecial between workbooks
Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1").Copy
Workbooks("Book2.xlsx").Worksheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteFormats
'Disable marching ants around copied range
Application.CutCopyMode = False
End Sub
Paste Data Below the Last Used Row
One of the most common questions I get about copying and pasting with VBA is, how do I paste to the bottom of a range that is constantly changing? I first want to find the last row of data, then copy & paste below it.
To answer this question, I created a free training video on how to paste data below the last used row in a sheet with VBA. Can I send you the video? Please click the image below to get the video.
Free Training on Macros & VBA
The 3 videos above are from my VBA Pro Course. If you want to learn more about macros and VBA then checkout my free 3-part video training series.
I will also send you info on the VBA Pro Course, that will take you from beginner to expert. Click the link below to get instant access.
Free Training on Macros & VBA
Please leave a comment below with any questions. Thanks!
На чтение 3 мин. Просмотров 51.7k.
Итог: Изучите 3 различных способа копирования и вставки ячеек или диапазонов в Excel с помощью макросов VBA. Это серия из трех частей, также вы сможете скачать файл, содержащий код.
Уровень мастерства: Начинающий
Копировать и вставить: наиболее распространенное действие Excel
Копирование и вставка, вероятно, является одним из самых
распространенных действий в Excel. Это также одна из самых распространенных
задач, которые мы автоматизируем при написании макросов.
Есть несколько различных способов выполнить эту задачу, и устройство записи макросов не всегда дает вам наиболее эффективный код VBA.
В следующих трех видео я объясняю:
- Самый эффективный метод для простого копирования
и вставки в VBA. - Самый простой способ вставить значения.
- Как использовать метод PasteSpecial для других
типов вставок.
Видео № 1: Простой метод «Копировать-вставить»
Видео лучше всего просматривать в полноэкранном HD.
Sub Примеры_копирования_диапазона() 'Используйте метод Range.Copy для простого копирования / вставки 'Метод Range.Copy - копирование и вставка с 1 строкой Range("A1").Copy Range("C1") Range("A1:A3").Copy Range("D1:D3") Range("A1:A3").Copy Range("D1") 'Range.Copy с одного листа на другой Worksheets("Лист1").Range("A1").Copy Worksheets("Лист2").Range("A1") 'Range.Copy с одного файла (на другой Workbooks("План.xlsx").Worksheets("Лист1").Range("A1").Copy _ Workbooks("Факт.xlsx").Worksheets("Лист1").Range("A1") End Sub
Видео № 2: Простой способ вставить значения
Sub Копируем_только_значения() 'Установите значения ячеек равными другим, чтобы вставить значения 'Устанавливает равенство одного диапазона другому Range("C1").Value = Range("A1").Value Range("D1:D3").Value = Range("A1:A3").Value 'Равенство значений между листами Worksheets("Лист1").Range("A1").Value = Worksheets("Лист2").Range("A1").Value 'Равенство значений между книгами Workbooks("Факт.xlsx").Worksheets("Лист1").Range("A1").Value = _ Workbooks("План.xlsx").Worksheets("Лист1").Range("A1").Value End Sub
Видео № 3: Метод PasteSpecial
Sub Копируем_с_помощью_специальной_вставки() 'Используйте метод Range.PasteSpecial для выбора типа вставки 'Копируем и вставляем через СпецВставку Range("A1").Copy Range("A5").PasteSpecial Paste:=xlPasteFormats 'Используем спецвставку между листами Worksheets("Лист1").Range("A2").Copy Worksheets("Лист2").Range("A2").PasteSpecial Paste:=xlPasteFormulas 'Используем спецвставку между файлами Workbooks("План.xlsx").Worksheets("Лист1").Range("A3").Copy Workbooks("Факт.xlsx").Worksheets("Лист1").Range("A1").PasteSpecial Paste:=xlPasteFormats 'Убираем "бегающих муравьёв" после копирования (очищаем буфер обмена) Application.CutCopyMode = False End Sub
Вставить данные ниже последней заполненной строки
Один из самых распространенных вопросов, которые я получаю о копировании и вставке с помощью VBA: «Как мне вставить данные в конец таблицы? «
Сначала нужно найти последнюю заполненную строку данных, а затем скопировать и вставить ниже неё.
Переходите по ссылке, чтобы научиться 3 способам поиска последней заполненной ячейки
Содержание
- Строки и столбцы — вставка против вставки
- Копировать всю строку
- Копировать весь столбец
- Копировать строки или столбцы на другой лист
Это руководство научит вас копировать (или вырезать) целые строки или столбцы с помощью VBA. Мы рассмотрим копирование и вставку диапазонов ячеек в другой статье.
Сначала мы покажем вам, как вставлять или вставлять скопированные строки / столбцы, и обсудим различия. Затем мы покажем вам все различные способы ссылки на строки и столбцы при копировании или вырезании.
Строки и столбцы — вставка против вставки
При вставке строк и столбцов у вас есть два варианта: вы можете вставить существующую строку (или столбец) или вставить новую строку (или столбец).
Давайте посмотрим на разницу …
Копировать и вставить существующую строку / столбец
Это скопирует строку 1 и вставит ее в существующую строку 5:
1 | Диапазон («1: 1»). Копировать диапазон («5: 5») |
Это скопирует столбец C и вставит его в столбец E:
1 | Диапазон («C: C»). Копировать диапазон («E: E») |
Копировать и вставить строку / столбец
Вместо этого вы можете вставить скопированную строку или столбец и сдвинуть существующие строки или столбцы, чтобы освободить место.
Это скопирует строку 1 и вставит ее в строку 5, сдвинув существующие строки вниз:
12 | Диапазон («1: 1»). КопироватьДиапазон («5: 5»). Вставить |
Это скопирует столбец C и вставит его в столбец E, сдвинув существующие столбцы вправо:
12 | Диапазон («C: C»). КопироватьДиапазон («E: E»). Вставить |
Копировать всю строку
Ниже мы покажем вам несколько способов скопировать строку 1 и вставить в строку 5.
1 | Диапазон («1: 1»). Копировать диапазон («5: 5») |
1 | Диапазон («A1»). Диапазон всей строки. Копия («A5») |
1 | Ряды (1) Копировать ряды (5) |
Вырезать и вставить строки
Просто используйте Вырезать вместо Копировать, чтобы вырезать и вставить строки:
1 | Ряды (1) Вырезать ряды (5) |
Копировать несколько строк
Вот примеры одновременного копирования нескольких строк:
1 | Диапазон («5: 7»). Копировать диапазон («10:13») |
1 | Диапазон («A5: A7»). Диапазон всей строки.Копия («A10: A13») |
1 | Ряды (5: 7) Копировать ряды (10:13) |
Копировать весь столбец
Вы можете копировать целые столбцы аналогично копированию целых строк:
1 | Диапазон («C: C»). Копировать диапазон («E: E») |
1 | Диапазон («C1»). Целый столбец.Копировать Диапазон («C1»). Целый столбец |
1 | Столбцы (3). Диапазон копирования (5) |
Вырезать и вставить столбцы
Просто используйте Вырезать вместо Копировать, чтобы вырезать и вставить столбцы:
1 | Диапазон («C: C»). Диапазон обрезки («E: E») |
Копировать несколько столбцов
Вот примеры одновременного копирования нескольких столбцов:
1 | Диапазон («C: E»). Копировать диапазон («G: I») |
1 | Диапазон («C1: E1»). Целый столбец.Копировать Диапазон («G1: I1») |
1 | Столбцы (3: 5). Копировать столбцы (7: 9) |
Копировать строки или столбцы на другой лист
Чтобы скопировать на другой лист, просто используйте объект листа:
1 | Листы («sheet1»). Диапазон («C: E»). Копировать листы («sheet2»). Диапазон («G: I») |
Вырезать строки или столбцы на другой лист
Вы можете использовать ту же технику, чтобы вырезать и вставить строки или столбцы на другой лист.
1 | Листы («sheet1»). Диапазон («C: E»). Отдельные листы («sheet2»). Диапазон («G: I») |