Excel скопировать строку много раз
На листе Excel вы можете вставить пустую строку между существующими строками с помощью функции Вставить. Но если у вас большой диапазон данных и вам нужно вставить две пустые строки после каждой третьей или n-й строки, как вы могли бы завершить эту работу быстро и удобно?
- Вставить определенное количество пустых строк в диапазон данных через фиксированные интервалы с кодом VBA
- Вставить определенное количество пустых строк в диапазон данных на основе значения ячеек с кодом VBA
- Вставляйте определенное количество пустых строк в диапазон данных с фиксированными интервалами с помощью удобной функции
- Копировать и вставлять строки несколько раз на основе определенных чисел с кодом VBA
- Копировать и вставлять строки несколько раз на основе определенных чисел с удивительная особенность
Вставить определенное количество пустых строк в диапазон данных через фиксированные интервалы с кодом VBA
Следующий код VBA может помочь вам вставить определенное количество строк после каждой n-й строки в существующих данных. Пожалуйста, сделайте следующее:
1 . Удерживая нажатыми клавиши ALT + F11 в Excel, откроется окно Microsoft Visual Basic для приложений .
2 . Нажмите Insert > Module и вставьте следующий код в окно модуля .
Код VBA: вставляйте определенное количество строк в данные с фиксированными интервалами
3. После вставки этого кода нажмите F5 , чтобы запустить этот код, появится всплывающее окно, напоминающее вам о выборе диапазона данных, в который вы хотите вставить пустые строки, см. снимок экрана:
5 . Продолжайте нажимать кнопку OK , в следующем всплывающем окне запроса введите количество пустых строк, которые вы хотите вставить, см. Снимок экрана:
6 . Затем нажмите OK , и пустые строки будут вставлены в существующие данные через равные промежутки времени, см. Снимки экрана:
| | |
Вставить определенное количество пустых строк в диапазон данных на основе значений ячеек с кодом VBA
Иногда вам может потребоваться вставить пустые строки на основе списка значений ячеек, в этом случае приведенный ниже код VBA может оказать вам услугу, пожалуйста, сделайте следующее:
1 . Удерживая нажатыми клавиши ALT + F11 в Excel, откроется Microsoft Visual Окно Basic для приложений .
2 . Нажмите Вставить > Модуль и вставьте следующий код в окно модуля .
Код VBA: вставьте определенное количество пустых строк на основе списка чисел :
3 . После вставки этого кода нажмите клавишу F5 , чтобы запустить этот код во всплывающем в диалоговом окне выберите список чисел, на основе которых вы хотите вставить пустые строки, см. снимок экрана:
4 . Затем нажмите OK , и вы получите необходимые результаты, как показано на следующих снимках экрана:
| | |
Вставляйте определенное количество пустых строк в диапазон данных с фиксированными интервалами с помощью удобной функции
Если вы не знакомы с приведенным выше VBA кода, Kutools for Excel также может вам помочь, его функция Вставить пустые строки и столбцы может быстро вставлять определенное количество строк или столбцов в существующие данные с фиксированными интервалами и легко.
Примечание. Чтобы применить эту Вставить пустые строки и столбцы , во-первых, вы должны загрузить Kutools for Excel , а затем быстро и легко примените эту функцию.
После установки Kutools for Excel , пожалуйста, сделайте следующим образом:
1 . Выберите диапазон данных, в который вы хотите вставлять пустые строки через определенные промежутки времени.
2 . Нажмите Kutools > Вставить > Вставить пустые строки и столбцы , см. Снимок экрана:
3 . В диалоговом окне Вставить пустые строки и столбцы выберите параметр Пустые строки из Тип вставки , а затем укажите количество интервалов и пустых строк, которые вы хотите использовать, как показано на следующем снимке экрана:
4 . Затем нажмите кнопку OK , и пустые строки будут вставлены в выбранный диапазон с определенным интервалом, как показано на следующем снимке экрана:
| | |
Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!
Копировать и вставлять строки несколько раз на основе определенных чисел с кодом VBA
Предположим , у вас есть диапазон тада, и теперь вы хотите скопировать каждую строку и вставить их несколько раз в следующую строку на основе списка чисел, как показано на скриншотах ниже. Как решить эту задачу на листе Excel?
| |
Чтобы разобраться с этой работой, я представлю вам полезный код, выполните следующие действия:
1 . Удерживая нажатыми клавиши ALT + F11 в Excel, откроется окно Microsoft Visual Basic для приложений .
2 . Нажмите Вставить > Module и вставьте следующий код в окно модуля .
Код VBA: копируйте и вставляйте строки несколько раз в зависимости от числа:
3 . После вставки этого кода нажмите клавишу F5 , чтобы запустить этот код, в появившемся диалоговом окне выберите список чисел, которые вы хотите скопировать, и вставьте строки данных на основе, см. Снимок экрана:
4 . Затем нажмите кнопку OK , и определенное количество строк было скопировано и вставлено под каждой исходной строкой, см. Снимки экрана:
| | |
Копируйте и вставляйте строки несколько раз на основе определенных чисел с удивительной функцией
Если у вас есть Kutools for Excel , с его функцией Дублировать строки/столбцы на основе значения ячейки , вы можете быстро и легко вставлять строки или столбцы на основе списка чисел .
Примечание. Чтобы применить это повторяющиеся строки/столбцы на основе значения ячейки , во-первых, вы должны загрузить Kutools for Excel , а затем быстро и легко примените эту функцию.
После установки Kutools for Excel , пожалуйста, сделайте следующим образом:
1 . Нажмите Kutools > Вставить > Дублировать строки/столбцы на основе значения ячейки , см. Снимок экрана:
2 . В диалоговом окне Копирование и вставка строк и столбцов выберите параметр Копировать и вставить строки в разделе Тип , затем выберите диапазон данных, который вы хотите дублировать, а затем укажите список значений, на основе которых вы хотите копировать строки, см. снимок экрана:
. Затем нажмите кнопку Ok или Применить , вы получите следующий результат, который вам нужен:
| | |
Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!
В этой статье описаны некоторые хитрые способы, которые помогут вам быстро и удобно скопировать каждую вторую строку в Microsoft Excel.
Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу .
- Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
- Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния : Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
- Разделить инструменты : Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
- Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона ; Отправляйте персонализированные электронные письма нескольким получателям массово.
- Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий .
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Предположим, вам нужно скопировать каждую вторую строку из следующего диапазона:
Скопируйте каждую вторую строку в Excel с помощью маркера заполнения
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
Фактически, мы можем быстро копировать и вставлять любой контент из одного диапазона в другой. Мы поможем вам завершить его на основе приведенного выше примера:
Шаг 1. Введите формулу = A1 в ячейке E1. Затем щелкните ячейку E1 и перетащите маркер заливки в ячейку G1.
Шаг 2. Выберите и выделите диапазон E1: G2и перетащите маркер заливки через диапазон в соответствии с вашими потребностями.
Теперь он копирует и вставляет содержимое во все остальные строки:
Внимание: таким образом копируется только содержимое каждой второй строки, но не гиперссылки, стили форматирования и т. д.
Скопируйте каждую вторую строку в Excel с помощью команды фильтра
Если вы хотите скопировать не только контент, но и гиперссылки, стили форматирования во все остальные строки, вам следует попробовать Фильтр команда.
Шаг 1. В пустом столбце помимо исходных данных введите 0,1,0,1…, 0,1. В этом случае мы вводим числа в столбец E. см. Следующий снимок экрана:
Шаг 2: Выберите и выделите столбец E и щелкните значок Фильтр под Данные меню.
Шаг 3: Затем вернитесь к столбцу E и нажмите кнопку со стрелкой рядом с ячейкой E1.
Шаг 4. В раскрывающемся меню снимите флажок Выбрать все вариант и проверьте 0 вариант. Затем он скрывает строки с 1 в Excel см. следующий снимок экрана.
Шаг 5: Теперь вы можете выбрать и выделить эти строки интервалов и скопировать их, нажав кнопку Копировать под Главная вкладка (Ctrl + C) без труда.
Скопируйте каждую вторую строку в Excel с помощью Kutools for Excel
Если у вас есть Kutools for Excel установлен, вы можете легко скопировать каждую вторую строку без потери гиперссылок или стилей форматирования быстро с его Выберите интервальные строки и столбцы инструмент.
Kutools for Excel включает в себя более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас .
Шаг 1. Выберите диапазон, с которым вы будете работать, и щелкните значок Кутулс > Выберите Инструменты > Выберите интервальные строки и столбцы….
Шаг 2: В Выберите интервальные строки и столбцы диалоговом окне, укажите параметры, как показано на следующем снимке экрана, и нажмите OK.
Затем выбираются и выделяются все остальные строки в выделенном фрагменте.
Шаг 3: Теперь вы можете скопировать эти выбранные строки интервалов, нажав кнопку Копировать под Главная вкладка (Ctrl + C) без труда.
В большинстве случаев повторы в наших данных нежелательны и мы с вами стараемся от них избавиться разными способами. Но иногда случается, что дубликаты нужны и полезны, и более того - нам необходимо их создавать!
Допустим, что у нас есть вот такая таблица с именами людей, заказавших билет в кино и количеством билетов для каждого:
Каждому билету нужно присвоить уникальный 6-значный номер, который формируется здесь простой функцией СЛУЧМЕЖДУ (RANDBETWEEN) , генерирующей целое случайное число в заданном диапазоне 100000-999999. Да, я знаю, что теоретически совпадения могут быть, но вероятность очень невелика и пока нас, допустим, устраивает (кого не устраивает - см.эту статью). Проблема в другом: для тех, кто заказал больше одного билета, нужно вставить в таблицу новые строки-дубли (по количеству заказанных билетов), т.е. на выходе получить вот такое:
Руками такое делать - тоскливо, формулами - сложно. Так что остаются два наиболее удобных варианта - макросы и Power Query.
Способ 1. Создание дубликатов строк макросом
Откроем редактор макросов кнопкой Visual Basic на вкладке Разработчик (Developer) или сочетанием клавиш Alt + F11 . Вставим новый модуль через меню Insert - Module и скопируем туда текст нашего макроса:
Принцип тут не самый сложный:
- проходим сверху-вниз по столбцу начиная с B2 до первой пустой ячейки
- если число в ячейке >1, то вставляем пустых строк под ячейкой на одну меньше, чем число билетов
- заполняем пустые ячейки (метод FillDown - аналог "протягивания за черный крестик" в правом нижнем углу ячейки)
- переходим к следующей ячейке и т.д.
Способ 2. Создание дубликатов строк в Power Query
Тем, кто хотя бы немного сталкивался с Power Query, рекламировать его мощь не нужно :) Для тех, кто не знаком (если коротко), то Power Query - это бесплатная надстройка для Excel от Microsoft, умеющая делать с данными практически все, что только можно себе представить: загрузку из любых источников, очистку, трансформацию, анализ данных и т.д. Для Excel 2010-2013 ее можно скачать с сайта Microsoft (появится отдельная вкладка Power Query после установки), а в Excel 2016 она уже встроена по-умолчанию (группа Получить внешние данные на вкладке Данные).
Power Query может легко и красиво решить нашу проблему с генерацией дубликатов.
Для начала, выделим нашу таблицу и загрузим ее в Power Query кнопкой Из таблицы/диапазона (From Table/Range) на вкладке Данные (Data) или Power Query:
После окна подтверждения увидим редактор запросов и нашу таблицу. Добавим пользовательский столбец на вкладке Добавить столбец (Add Column - Custom Column) :
В появившемся окне введем имя столбца и формулу, которая создает список чисел от 1 до количества билетов в каждой строке:
После нажатия на ОК появится новый столбец со списками, элементы которых можно развернуть в строки, используя кнопку в шапке таблицы:
В итоге, получаем практически то, что хотелось:
Осталось удалить ненужный больше столбец Список (правой кнопкой мыши по заголовку - Удалить столбец) и выгрузить данные обратно на лист на вкладке Главная (Home) с помощью кнопки Закрыть и загрузить - Закрыть и загрузить в. (Close&Load - Close&Load to. ) и указать подходящее место для результирующей таблицы:
И останется совсем простая часть - добавить к таблице столбец с формулой СЛУЧМЕЖДУ (RANDBETWEEN) для генерации случайных номеров билетов:
Особенно приятно, что при любых изменениях в исходной (левой) таблице (добавлении новых людей или изменении количества билетов), достаточно будет просто обновить правой кнопкой мыши нашу результирующую таблицу с номерами билетов.
Если нужно, чтобы случайные числа не генерировались каждый раз заново при пересчете листа, а формировались один раз, сохраняя потом свои значения, то придется использовать макро-функцию StaticRandBetween из надстройки PLEX или что-то аналогичное.
Также можно, для наглядности, склеивать через дефис номер билета и порядковый номер из столбца Список прямо в Power Query, используя команду Объединить столбцы на вкладке Преобразование (Transform) .
Добрый день.
Есть строки с указанием количества позиций.
Нужно сделать столько копий этой строки, сколько указанно в столбце количество.
То есть 5 брюк, должно стать 5 строк с брюками.
Добрый день.
Есть строки с указанием количества позиций.
Нужно сделать столько копий этой строки, сколько указанно в столбце количество.
То есть 5 брюк, должно стать 5 строк с брюками. fyx
Копий куда. На новый лист? В новую книгу? Туда же? Автор - Dмитрий
Дата добавления - 01.04.2014 в 12:34
Туда же, под данною строку.
Далее следующую строку, копируем вниз столько раз сколько указано в строке "Кол-во"
И строк может быть до 200.
Туда же, под данною строку.
Далее следующую строку, копируем вниз столько раз сколько указано в строке "Кол-во"
И строк может быть до 200. fyx
Sub КопияСтрок()
Dim i&, x&
Application.ScreenUpdating = False
For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
If Cells(i, 9) > 1 Then
x = i + Cells(i, 9) - 1
Rows(i + 1 & ":" & x).Insert Shift:=xlDown
Rows(i).Copy
Rows(i + 1 & ":" & x).Select
ActiveSheet.Paste
End If
Next
Application.CutCopyMode = False
Range("A2").Select
Application.ScreenUpdating = True
End Sub
Sub КопияСтрок()
Dim i&, x&
Application.ScreenUpdating = False
For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
If Cells(i, 9) > 1 Then
x = i + Cells(i, 9) - 1
Rows(i + 1 & ":" & x).Insert Shift:=xlDown
Rows(i).Copy
Rows(i + 1 & ":" & x).Select
ActiveSheet.Paste
End If
Next
Application.CutCopyMode = False
Range("A2").Select
Application.ScreenUpdating = True
End Sub
Sub КопияСтрок()
Dim i&, x&
Application.ScreenUpdating = False
For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
If Cells(i, 9) > 1 Then
x = i + Cells(i, 9) - 1
Rows(i + 1 & ":" & x).Insert Shift:=xlDown
Rows(i).Copy
Rows(i + 1 & ":" & x).Select
ActiveSheet.Paste
End If
Next
Application.CutCopyMode = False
Range("A2").Select
Application.ScreenUpdating = True
End Sub
Sub CopyRows()
Application.ScreenUpdating = False
Dim i As Long
For i = Columns(9).End(xlDown).Row To 2 Step -1
Rows(i).Copy
Rows(i).Resize(Range("I" & i) - 1).EntireRow.Insert
Range("I" & i).Resize(Range("I" & i)) = 1
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Sub CopyRows()
Application.ScreenUpdating = False
Dim i As Long
For i = Columns(9).End(xlDown).Row To 2 Step -1
Rows(i).Copy
Rows(i).Resize(Range("I" & i) - 1).EntireRow.Insert
Range("I" & i).Resize(Range("I" & i)) = 1
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Sub CopyRows()
Application.ScreenUpdating = False
Dim i As Long
For i = Columns(9).End(xlDown).Row To 2 Step -1
Rows(i).Copy
Rows(i).Resize(Range("I" & i) - 1).EntireRow.Insert
Range("I" & i).Resize(Range("I" & i)) = 1
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Что то у меня на него ругается на строку
Range("I" & i).Resize(Range("I" & i)) = 1
Что то у меня на него ругается на строку
Range("I" & i).Resize(Range("I" & i)) = 1 fyx
Что то у меня на него ругается на строку
Range("I" & i).Resize(Range("I" & i)) = 1 Автор - fyx
Дата добавления - 01.04.2014 в 13:56
Все работает, единственный вопрос: если в столбце с количеством есть цифра 1, выскакивает ошибка! можно ли избавиться от этого таким образом, чтобы строка, которая должна повторяться только один раз, оставалась в единственном экземпляре, а другие строки копировались согласно указанному количеству?
Все работает, единственный вопрос: если в столбце с количеством есть цифра 1, выскакивает ошибка! можно ли избавиться от этого таким образом, чтобы строка, которая должна повторяться только один раз, оставалась в единственном экземпляре, а другие строки копировались согласно указанному количеству? iramikla
Sub CopyRows()
Application.ScreenUpdating = False
Dim i As Long
For i = Columns(9).End(xlDown).Row To 2 Step -1
If Range("I" & i) > 1 Then
Rows(i).Copy
Rows(i).Resize(Range("I" & i) - 1).EntireRow.Insert
Range("I" & i).Resize(Range("I" & i)) = 1
End If
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Sub CopyRows()
Application.ScreenUpdating = False
Dim i As Long
For i = Columns(9).End(xlDown).Row To 2 Step -1
If Range("I" & i) > 1 Then
Rows(i).Copy
Rows(i).Resize(Range("I" & i) - 1).EntireRow.Insert
Range("I" & i).Resize(Range("I" & i)) = 1
End If
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Sub CopyRows()
Application.ScreenUpdating = False
Dim i As Long
For i = Columns(9).End(xlDown).Row To 2 Step -1
If Range("I" & i) > 1 Then
Rows(i).Copy
Rows(i).Resize(Range("I" & i) - 1).EntireRow.Insert
Range("I" & i).Resize(Range("I" & i)) = 1
End If
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
В этой статье описаны некоторые хитрые способы, которые помогут вам быстро и удобно скопировать каждую вторую строку в Microsoft Excel.
Копировать каждую вторую строку в Excel с маркером заливки
Копировать каждую вторую строку в Excel с помощью команды «Фильтр»
Копировать каждую другая строка в Excel с помощью Kutools for Excel
Вкладка Office Включите редактирование и просмотр с вкладками в Office и сделайте вашу работу намного проще …
- Повторное использование чего угодно: добавьте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное, и быстро использовать их в будущем.
- Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
- Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
- Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Массовая отправка персонализированных писем нескольким получателям.
- Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментарием …
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Предположим, вам нужно скопировать каждую вторую строку из следующего диапазона:
Копировать каждую вторую строку в Excel с ручкой заливки
Потрясающе! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Сэкономьте 50% своего времени и уменьшите тысячи щелчков мышью каждый день!
Фактически, мы можем быстро скопировать и вставить любой контент из одного диапазона в другой. Мы поможем вам завершить его на основе приведенного выше примера:
Шаг 1. Введите формулу =A1 в ячейку E1. Затем щелкните ячейку E1 и перетащите маркер заливки в ячейку G1.
Шаг 2. Выберите и выделите диапазон E1: G2 и перетащите Маркер заполнения в диапазоне в соответствии с вашими потребностями.
Теперь он копирует и вставляет содержимое во все остальные строки:
: таким образом копируется только содержимое каждой второй строки, но не гиперссылки, стили форматирования, и т. д.
Скопируйте каждую вторую строку в Excel с помощью фильтра команда
Если вы хотите скопировать не только содержимое, но и гиперссылки, стили форматирования во все остальные строки, вам следует попробовать команду Фильтр .
Шаг 1. В пустом столбце, помимо исходных данных, введите 0,1,0,1…,0,1 . в этом случае мы вводим числа в столбец E. см. следующий снимок экрана:
Шаг 2. Выберите и выделите столбец E и нажмите кнопку Фильтр на вкладке Данные .
Шаг 3: затем вернитесь к столбцу E, и нажмите кнопку со стрелкой рядом с ячейкой E1.
Шаг 4. В раскрывающемся меню снимите флажок Выбрать все и установите флажок 0 вариант. Затем он скрывает строки с 1 в Excel, см. Следующий снимок экрана.
Шаг 5: Теперь вы можете выбрать и выделить эти строки интервалов и скопировать их, нажав кнопку Копировать под Вкладка «Главная » ( Ctrl + C ) легко.
Скопируйте каждую вторую строку в Excel с помощью Kutools for Excel
Если у вас установлен Kutools for Excel, вы можете легко скопировать каждую вторую строку быстро без потери гиперссылок или стилей форматирования с помощью инструмента Выбрать интервальные строки и столбцы .
Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас .
Шаг 1. Выберите диапазон, с которым вы будете работать, и нажмите Kutools > Выберите «Инструменты» > Выберите интервальные строки и столбцы… .
Шаг 2. В диалоговом окне Выбрать строки и столбцы интервала укажите параметры, как показано на следующем снимке экрана, и нажмите ОК .
Затем каждый второй выбранная строка выделена и выделена.
Шаг 3 : Теперь вы можете легко скопировать эти выбранные строки интервала, нажав кнопку Копировать на вкладке Главная ( Ctrl + C ). .
Нажмите, чтобы узнать больше об этой функции выбора интервальных строк и столбцов..
Читайте также: