Note: The other languages of the website are Google-translated. Back to English

Как вставить определенное количество строк через фиксированные интервалы в Excel?

На листе Excel вы можете вставить пустую строку между существующими строками с помощью функции Вставить. Но если у вас большой диапазон данных и вам нужно вставить две пустые строки после каждой третьей n-й строки, как вы могли бы завершить эту работу быстро и удобно?


Вставьте определенное количество пустых строк в диапазон данных через фиксированные интервалы с кодом VBA

Следующий код VBA может помочь вам вставить определенное количество строк после каждой n-й строки в существующих данных. Пожалуйста, сделайте следующее:

1. Удерживайте ALT + F11 ключи в Excel, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

Код VBA: вставка определенного количества строк в данные через фиксированные интервалы

Sub InsertRowsAtIntervals()
'Updateby Extendoffice
Dim Rng As Range
Dim xInterval As Integer
Dim xRows As Integer
Dim xRowsCount As Integer
Dim xNum1 As Integer
Dim xNum2 As Integer
Dim WorkRng As Range
Dim xWs As Worksheet
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("Enter row interval. ", xTitleId, 1, Type:=1)
xRows = Application.InputBox("How many rows to insert at each interval? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xNum2 = xRows + xInterval
Set xWs = WorkRng.Parent
For i = 1 To Int(xRowsCount / xInterval)
    xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Select
    Application.Selection.EntireRow.Insert
    xNum1 = xNum1 + xNum2
Next
End Sub

3. После вставки этого кода нажмите F5 нажмите клавишу для запуска этого кода, появится всплывающее окно, напоминающее вам о выборе диапазона данных, в который вы хотите вставить пустые строки, см. снимок экрана:

4. Нажмите OK , появится другое окно подсказки, введите количество интервалов между строками, см. снимок экрана:

5. Продолжайте нажимать OK В следующем всплывающем окне подсказки введите количество пустых строк, которые вы хотите вставить, см. снимок экрана:

6. Затем нажмите OK, а пустые строки вставлялись в существующие данные через равные промежутки времени, см. снимки экрана:


Вставьте определенное количество пустых строк в диапазон данных на основе значений ячеек с кодом VBA

Иногда вам может потребоваться вставить пустые строки на основе списка значений ячеек, в этом случае приведенный ниже код VBA может оказать вам услугу, пожалуйста, сделайте следующее:

1. Удерживайте ALT + F11 ключи в Excel, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

Код VBA: вставьте определенное количество пустых строк на основе списка чисел:

Sub Insertblankrowsbynumbers ()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the spefic number column to use(single column):", "Kutools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Set xRg = xRg(1)
For I = xLastRow To xFstRow Step -1
xNum = Cells(I, xCol)
If IsNumeric(xNum) And xNum > 0 Then
Rows(I + 1).Resize(xNum).Insert
xCount = xCount + xNum
End If
Next
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End Sub

3. После вставки этого кода нажмите F5 Чтобы запустить этот код, в появившемся диалоговом окне выберите список чисел, на основе которых вы хотите вставить пустые строки, см. снимок экрана:

4, Затем нажмите OK, и вы получите необходимые результаты, как показано на следующих снимках экрана:


Вставляйте определенное количество пустых строк в диапазон данных через фиксированные интервалы с помощью удобной функции

Если вы не знакомы с приведенным выше кодом VBA, Kutools for Excel также может помочь вам, это Вставить пустые строки и столбцы Функция может быстро и легко вставлять определенное количество строк или столбцов в существующие данные с фиксированными интервалами.

Примечание:Чтобы применить это Вставить пустые строки и столбцы , во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите диапазон данных, в который вы хотите вставлять пустые строки через определенные промежутки времени.

2. Нажмите Кутулс > Вставить > Вставить пустые строки и столбцы, см. снимок экрана:

3. В Вставить пустую строку и столбцы диалоговое окно, выберите Пустые строки вариант из Тип вставки, а затем укажите количество интервалов и пустых строк, которые вы хотите использовать, как показано на следующем снимке экрана:

4. Затем нажмите OK кнопку, и пустые строки были вставлены в выбранный диапазон с определенным интервалом, как показано на следующем снимке экрана:

Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!


Копируйте и вставляйте строки несколько раз на основе определенных чисел с кодом VBA

Предположим, у вас есть диапазон тада, и теперь вы хотите скопировать каждую строку и вставить их несколько раз в следующую строку на основе списка чисел, как показано на скриншотах ниже. Как решить эту задачу на листе Excel?

Чтобы справиться с этой задачей, я представлю вам полезный код, выполните следующие действия:

1. Удерживайте ALT + F11 ключи в Excel, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

Код VBA: копируйте и вставляйте строки несколько раз в зависимости от конкретных чисел:

Sub CopyRows()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xCRg As Range
Dim xFNum As Integer
Dim xRN As Integer
On Error Resume Next
SelectRange:
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the list of numbers to copy the rows based on: ", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub

If xRg.Columns.Count > 1 Then
MsgBox "Please select single column!"
GoTo SelectRange
End If
Application.ScreenUpdating = False
For xFNum = xRg.Count To 1 Step -1
Set xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Value)
With Rows(xCRg.Row)
.Copy
.Resize(xRN).Insert
End With
Next
Application.ScreenUpdating = True
End Sub

3. После вставки этого кода нажмите F5 Чтобы запустить этот код, в появившемся диалоговом окне выберите список чисел, которые вы хотите скопировать, и вставьте строки данных на основе, см. снимок экрана:

4, Затем нажмите OK кнопку, и определенное количество строк было скопировано и вставлено под каждой исходной строкой, см. снимки экрана:


Копируйте и вставляйте строки несколько раз на основе определенных чисел с удивительной функцией

Если у вас есть Kutools for Excel, С его Повторяющиеся строки / столбцы на основе значения ячейки функция, вы можете быстро и легко вставлять строки или столбцы на основе списка чисел.

Примечание:Чтобы применить это Повторяющиеся строки / столбцы на основе значения ячейки, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте следующее:

1. Нажмите Кутулс > Вставить > Повторяющиеся строки / столбцы на основе значения ячейки, см. снимок экрана:

2. В Копировать и вставлять строки и столбцы диалоговое окно, выберите Копировать и вставлять строки вариант в Тип раздел, затем выберите диапазон данных, который вы хотите продублировать, а затем укажите список значений, на основе которых вы хотите копировать строки, см. снимок экрана:

4, Затем нажмите Ok or Применить кнопку, вы получите такой результат, как вам нужно:

Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!

Больше относительных статей:

  • Скопируйте и вставьте строку несколько раз или продублируйте строку X раз
  • Пробовали ли вы в своей повседневной работе скопировать строку или каждую строку, а затем несколько раз вставить ее под текущей строкой данных на листе? Например, у меня есть диапазон ячеек, теперь я хочу скопировать каждую строку и вставить их 3 раза в следующую строку, как показано на следующем снимке экрана. Как бы вы справились с этой работой в Excel?
  • Вставлять пустые строки при изменении значения в Excel
  • Предположим, у вас есть диапазон данных, и теперь вы хотите вставить пустые строки между данными при изменении значения, чтобы вы могли разделить последовательные одинаковые значения в одном столбце, как показано на следующих снимках экрана. В этой статье я расскажу о некоторых хитростях, которые помогут вам решить эту проблему.
  • Копирование строк из нескольких листов на основе критериев на новый лист
  • Предположим, у вас есть книга с тремя листами, которые имеют такое же форматирование, как показано на скриншоте ниже. Теперь вы хотите скопировать все строки из этих листов, столбец C которых содержит текст «Завершено», в новый лист. Как можно быстро и легко решить эту проблему, не копируя и не вставляя их вручную?

Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (39)
Номинальный 5 из 5 · рейтинги 2
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я использую ваш код (ниже). Не могли бы вы рассказать мне, как заполнить эти строки настраиваемым текстом? Я использовал ваш код для ввода трех строк, он работал отлично, но теперь мне нужно ввести текст Строка1 = Дата Строка2.= Расположение Строка3 = Номер телефона Заранее спасибо... xInterval As Integer Dim xRows As Integer Dim xRowsCount As Integer Dim xNum20150707 As Integer Dim xNum1 As Integer Dim WorkRng As Range Dim xWs As Worksheet xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId , WorkRng.Address, Type:=2) xRowsCount = WorkRng.Rows.Count xInterval = Application.InputBox("Введите интервал строки. ", xTitleId, 8, Type:=1) xRows = Application.InputBox("Сколько строк нужно вставить через каждый интервал?», xTitleId, 1, Type:=1) xNum1 = WorkRng.Row + xInterval xNum1 = xRows + xInterval Установить xWs = WorkRng.Parent For i = 2 To Int(xRowsCount / xInterval) xWs.Range(xWs .Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Выберите Application.Selection.EntireRow.Insert xNum1= xNum1 + xNum1 Следующая конечная подпрограмма"
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо большое!!!!! это потрясающе
Этот комментарий был сведен к минимуму модератором на сайте
Большое спасибо!!
Этот комментарий был сведен к минимуму модератором на сайте
Hi


Я использую интервальный код vba, он работает. Но когда я использую более 100000 строк, он не работает. Пожалуйста, предложите, что мне следует изменить, если таковые имеются.


Подпрограмма InsertRowsAtIntervals()
'Обновление20150707
Dim Rng As Range
Dim xInterval как целое число
Dim xRows как целое число
Dim xRowsCount как целое число
Dim xNum1 как целое число
Dim xNum2 как целое число
Dim WorkRng As Range
Dim xWs как рабочий лист
xTitleId = "KutoolsforExcel"
Установите WorkRng = Application.Selection
Установите WorkRng = Application.InputBox ("Диапазон", xTitleId, WorkRng.Address, Type: = 8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("Введите интервал строки. ", xTitleId, 1, Тип:=1)
xRows = Application.InputBox("Сколько строк вставлять с каждым интервалом?", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xNum2 = xстрок + xинтервал
Установите xWs = WorkRng.Parent
Для i = 1 To Int (xRowsCount / xInterval)
xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Выбрать
Application.Selection.EntireRow.Insert
хЧисл1 = хЧисл1 + хЧисл2
Далее
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Фантастика - вы избавили меня от бессмысленного ввода данных, большое спасибо
Этот комментарий был сведен к минимуму модератором на сайте
привет, как я могу получить код для вставки определенного количества столбцов в данные с фиксированными интервалами
Этот комментарий был сведен к минимуму модератором на сайте
Привет, ПК,
Чтобы вставить пустые столбцы в существующие данные через определенные промежутки времени, вам может помочь приведенный ниже код VBA! Пожалуйста, попробуйте.

Подпрограмма InsertColumnsAtIntervals()
Dim Rng As Range
Dim xInterval как целое число
Dim xCs как целое число
Dim xCCount как целое число
Dim xNum1 как целое число
Dim xNum2 как целое число
Dim WorkRng As Range
Dim xWs как рабочий лист
xTitleId = "KutoolsforExcel"
Установите WorkRng = Application.Selection
Установите WorkRng = Application.InputBox ("Диапазон", xTitleId, WorkRng.Address, Type: = 8)
xCCount = WorkRng.Columns.Count
xInterval = Application.InputBox("Введите интервал столбца. ", xTitleId, 1, Тип:=1)
xCs = Application.InputBox("Сколько столбцов вставлять с каждым интервалом?", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Column + xInterval
xNum2 = xCs + xинтервал
Установите xWs = WorkRng.Parent
Для I = 1 To Int (xCCount/xInterval)
xWs.Range(xWs.Cells(WorkRng.Row, xNum1 + xCs - 1), xWs.Cells(WorkRng.Row, xNum1)).Выбрать
Application.Selection.EntireColumn.Insert
хЧисл1 = хЧисл1 + хЧисл2
Далее
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Как добавить строки в данные Excel в соответствии с указанным числом в последней ячейке, скажем, в данных Excel, если последняя ячейка показывает число как 4, как можно автоматически добавить 4 строки. в другой строке номер 72 и т. д.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, С.П. Гупта,
Чтобы вставить пустые строки на основе определенного списка номеров, примените приведенный ниже код VBA.
Пожалуйста, попробуйте, надеюсь, это поможет вам!

Подпрограмма вставки ()
'ОбновитьExtendoffice
Dim xRg как диапазон
Dim xAddress как строка
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Установите xRg = Application.InputBox("Выберите конкретный номер столбца для использования (один столбец):", "KuTools For Excel", xAddress, , , , , 8)
Если xRg ничего не значит, выйдите из Sub
Приложение.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Установите xRg = xRg (1)
Для I = xLastRow To xFstRow Шаг -1
xNum = ячейки (I, xCol)
Если IsNumeric(xNum) И xNum > 0 Тогда
Строки(I + 1).Изменить размер(xNum).Вставить
xCount = xCount + xNum
End If
Далее
xRg.Resize(xCount, 1).Выбрать
Application.ScreenUpdating = True
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Привет, не могли бы вы мне помочь, пожалуйста? Как я могу изменить этот код, чтобы добавить еще одну строку меньше, чем число в ячейке? Например, если число в ячейке равно 4, программа добавит 3 строки. Если число в ячейке равно 1, строки не добавляются
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Нина,
Для решения вашей задачи используйте следующий код:

Подпрограмма вставки ()
'ОбновитьExtendoffice
Dim xRg как диапазон
Dim xAddress как строка
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Установите xRg = Application.InputBox("Выберите конкретный номер столбца для использования (один столбец):", "KuTools For Excel", xAddress, , , , , 8)
Если xRg ничего не значит, выйдите из Sub
Приложение.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Установите xRg = xRg (1)
Для I = xLastRow To xFstRow Шаг -1
xNum = ячейки (I, xCol)
хЧисл = хЧисл - 1
Если IsNumeric(xNum) И xNum > 0 Тогда
Строки(I + 1).Изменить размер(xNum).Вставить
xCount = xCount + xNum
End If
Далее
xRg.Resize(xCount, 1).Выбрать
Application.ScreenUpdating = True
End Sub


Пожалуйста, попробуйте, надеюсь, это поможет вам!
Этот комментарий был сведен к минимуму модератором на сайте
Работает отлично, спасибо вам большое!
Этот комментарий был сведен к минимуму модератором на сайте
Это замечательно. Мне просто интересно... и мой английский не идеален, поэтому я надеюсь, что вы меня поймете :) .....
Можно ли заполнить добавленные пустые строки значениями из строки, где был этот параметрический номер?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Владимир, Вы имеете в виду вставить пустые строки на основе списка чисел на листе? Если это так, пожалуйста, примените приведенный ниже код:
Подпрограмма вставки ()
'ОбновитьExtendoffice
Dim xRg как диапазон
Dim xAddress как строка
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Установите xRg = Application.InputBox("Выберите список чисел, которые вы хотите вставить строки на основе:", "KuTools For Excel", xAddress, , , , , 8)
Если xRg ничего не значит, выйдите из Sub
Приложение.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Установите xRg = xRg (1)
Для I = xLastRow To xFstRow Шаг -1
xNum = ячейки (I, xCol)
Если IsNumeric(xNum) И xNum > 0 Тогда
Строки(I + 1).Изменить размер(xNum).Вставить
xCount = xCount + xNum
End If
Далее
xRg.Resize(xCount, 1).Выбрать
Application.ScreenUpdating = True
End SubПожалуйста, попробуйте, если у вас есть другие вопросы, пожалуйста, прокомментируйте здесь.
Этот комментарий был сведен к минимуму модератором на сайте
Этот код идеально подходит для вставки строк.... Sub Insert()
'ОбновитьExtendoffice
Dim xRg как диапазон
Dim xAddress как строка
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Установите xRg = Application.InputBox("Выберите конкретный номер столбца для использования (один столбец):", "KuTools For Excel", xAddress, , , , , 8)
Если xRg ничего не значит, выйдите из Sub
Приложение.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Установите xRg = xRg (1)
Для I = xLastRow To xFstRow Шаг -1
xNum = ячейки (I, xCol)
хЧисл = хЧисл - 1
Если IsNumeric(xNum) И xNum > 0 Тогда
Строки(I + 1).Изменить размер(xNum).Вставить
xCount = xCount + xNum
End If
Далее
xRg.Resize(xCount, 1).Выбрать
Application.ScreenUpdating = True
End Sub

Но возможно ли... скопировать данные в эти пустые ячейки из строки, где было это параметрическое число? Можно я выложу сюда картинку? Может быть, будет проще, если я покажу вам, что мне нужно :)
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Владимир, может быть, приведенный ниже код VBA может помочь вам, пожалуйста, попробуйте. Sub CopyRow()
'ОбновитьExtendoffice
Dim xRg как диапазон
Dim xCRg как диапазон
Dim xFNum как целое число
Dim xRN как целое число
On Error Resume Next
Выберитедиапазон:
xTxt = ActiveWindow.RangeSelection.Address
Установите xRg = Application.InputBox («Выберите список номеров», «Kutools для Excel», xTxt, , , , , 8)
Если xRg ничего не значит, выйдите из Sub

Если xRg.Columns.Count > 1 Тогда
MsgBox "Пожалуйста, выберите один столбец!"
Перейти к выбору диапазона
End If
Приложение.ScreenUpdating = False
Для xFNum = xRg.Count до 1 Шаг -1
Установить xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Значение)
Со строками (xCRg.Row)
.Копировать
.Изменить размер(xRN).Вставить
Конец с
Далее
Application.ScreenUpdating = True
End Sub

Этот комментарий был сведен к минимуму модератором на сайте
Мы так близко :) Все, что мне сейчас нужно, это на одну строку меньше, чем в последнем коде VBA, чем значение параметрического числа. Например: если число равно 8, нам нужно вставить и скопировать 7 строк. Как ты сделал для Нины только с этой КОПИЕЙ
Итак, если число равно 8, то у нас должно быть всего 8 вставленных и скопированных строк, а с предыдущим кодом VBA у нас есть 9.
Тпх
Этот комментарий был сведен к минимуму модератором на сайте
Привет. В этом случае вам может помочь следующий код, попробуйте: Подпрограмма копирования данных ()
'Обновить Extendoffice
Dim xRow As Long
Dim VInSertNum как вариант
хряд = 1
Приложение.ScreenUpdating = False
Делать пока (ячейки (xRow, "A") <> "")
VInSertNum = Ячейки (xRow, "B")
Если ((VInSertNum > 1) И IsNumeric(VInSertNum)) Тогда
Диапазон(Ячейки(xRow, "A"), Ячейки(xRow, "B")).Копировать
Диапазон (Ячейки (xRow + 1, "A"), Ячейки (xRow + VInSertNum - 1, "B")). Выберите
Selection.Insert Shift: = xlDown
xRow = xRow + VInSertNum - 1
End If
xСтрока = xСтрока + 1
Петля
Приложение.ScreenUpdating = False
End SubNote: В приведенном выше коде буква A обозначает начальный столбец диапазона данных, а буква B - буква столбца, на основе которой вы хотите продублировать строки. Пожалуйста, измените их по своему усмотрению.
Этот комментарий был сведен к минимуму модератором на сайте
У вас есть модуль, который вычитает скопированное число на единицу?
Этот комментарий был сведен к минимуму модератором на сайте
Нет. У меня есть этот, но он мне нужен, чтобы вычесть 1?
Sub CopyRow()
'ОбновитьExtendoffice
Dim xRg как диапазон
Dim xCRg как диапазон
Dim xFNum как целое число
Dim xRN как целое число
On Error Resume Next
Выберитедиапазон:
xTxt = ActiveWindow.RangeSelection.Address
Установите xRg = Application.InputBox («Выберите список номеров», «Kutools для Excel», xTxt, , , , , 8)
Если xRg ничего не значит, выйдите из Sub

Если xRg.Columns.Count > 1 Тогда
MsgBox "Пожалуйста, выберите один столбец!"
Перейти к выбору диапазона
End If
Приложение.ScreenUpdating = False
Для xFNum = xRg.Count до 1 Шаг -1
Установить xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Значение)
Со строками (xCRg.Row)
.Копировать
.Изменить размер(xRN).Вставить
Конец с
Далее
Application.ScreenUpdating = True
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Что я пытаюсь сделать, так это создать и распечатать этикетки в Word из электронной таблицы с несколькими количествами?
Этот комментарий был сведен к минимуму модератором на сайте
У вас была возможность посмотреть на это?
Этот комментарий был сведен к минимуму модератором на сайте
Золото благословит вас
Этот комментарий был сведен к минимуму модератором на сайте
Ищете код для создания списка Excel, дублирующего число в ячейке и вычитающего 1 для оригинала?
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо автор! Вы заслуживаете самой лучшей похвалы за это! Но, пожалуйста, не могли бы вы помочь мне с кодом, чтобы поместить постоянное значение во все пустые строки, которые я создал с помощью вашего кода выше? Чтобы было понятнее, мне нужно вставить постоянное значение во все пустые строки (это уже решено с помощью вашего кода выше), затем мне нужно вставить постоянное значение во все пустые строки (это моя проблема). Спасибо, так как я ожидаю вашего доброго ответа.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, Вы имеете в виду заполнить пустые строки определенным значением? Если это так, может быть, следующая статья может вам помочь:https://www.extendoffice.com/documents/excel/772-excel-fill-blank-cells-with-0-or-specific-value.html
Пожалуйста, попробуйте.
Этот комментарий был сведен к минимуму модератором на сайте
Могу ли я получить код VBA для удаления строк на основе повторяющихся значений в выбранном столбце, сохраняя все уникальные значения?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Рой. Если вы хотите удалить строки на основе повторяющихся значений, обычно вы можете использовать Удалить дубликаты в Excel для удаления строк. Конечно, если вам нужен код VBA, используйте приведенный ниже код: (Сначала вы должны выбрать диапазон данных, который хотите удалить, а затем запустить этот код, строки на основе повторяющиеся значения в первом столбце вашего выбора будут сразу удалены. ) Подпрограмма Delete_duplicate_rows()
Dim Rng As Range
Установить кольцо = выбор
Rng.RemoveDuplicates Столбцы: = Массив (1), Заголовок: = xlYes
End SubПожалуйста, попробуйте, надеюсь, это поможет вам!
Этот комментарий был сведен к минимуму модератором на сайте
Это так круто!! Большое спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Muito obrigado, salvou meu trabalho, eu não tinha ideia de como fazer. Muito obrigado mesmo!
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,
Добро пожаловать. Рад, что это помогает. Любые вопросы, пожалуйста, не стесняйтесь обращаться к нам. Хорошего дня.
С уважением,
Мэнди
Этот комментарий был сведен к минимуму модератором на сайте
можете ли вы сказать мне, как вставить столбец таким образом, какой код
Этот комментарий был сведен к минимуму модератором на сайте
Привет друг,
Вы можете использовать этот код VBA:

Sub InsertColumnsAtIntervals()

'Updateby Extendoffice

Dim Rng As Range

Dim xInterval As Integer

Dim xColumns As Integer

Dim xColumnsCount As Integer

Dim xNum1 As Integer

Dim xNum2 As Integer

Dim WorkRng As Range

Dim xWs As Worksheet

xTitleId = "KutoolsforExcel"

Set WorkRng = Application.Selection

Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)

xColumnsCount = WorkRng.Columns.Count

xInterval = Application.InputBox("Enter column interval. ", xTitleId, 1, Type:=1)

xColumns = Application.InputBox("How many columns to insert at each interval? ", xTitleId, 1, Type:=1)

xNum1 = WorkRng.Column + xInterval

xNum2 = xColumns + xInterval

Set xWs = WorkRng.Parent

For i = 1 To Int(xColumnsCount / xInterval)

    xWs.Range(xWs.Cells(WorkRng.Row, xNum1), xWs.Cells(WorkRng.Row, xNum1 + xColumns - 1)).Select

    Application.Selection.EntireColumn.Insert

    xNum1 = xNum1 + xNum2

Next

End Sub


С уважением,
Мэнди
Этот комментарий был сведен к минимуму модератором на сайте
Вот выручили так выручили!
Сидел, ломал голову как добавить строки по заданному количеству.
Ваш макрос мне очень помог.
Номинальный 5 из 5
Этот комментарий был сведен к минимуму модератором на сайте
Имя Электронная почта Телефон Адрес
0 Имя Электронная почта Адрес телефона
адресная строка 2 Имя Телефон 0
Имя Электронная почта Адрес телефона
0 Имя Электронная почта Адрес телефона
адресная строка 2 0


Как я могу отредактировать это, чтобы начать новую строку с каждого пустого значения или значения 0, не имея телефонных номеров с 0, начинающих новую строку?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Джаррод

Извините, я не могу ясно понять вашу проблему.
Не могли бы вы объяснить вашу проблему более подробно? Или вы можете вставить скриншот или файл здесь.
Спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Hola, hay algun codigo, который позволяет мне копировать лос-датос, pero que en la primera columna que son fechas pueda ser consecutivo.

пример

en vez de que quede asi

01 10-2022 Хуан Рамирес
01 10-2022 Хуан Рамирес
01 10-2022 Хуан Рамирес

quede asi

01 10-2022 Хуан Рамирес
02 10-2022 Хуан Рамирес
03 10-2022 Хуан Рамирес

Gracias
Этот комментарий был сведен к минимуму модератором на сайте
Hola, hay algun codigo que me allowa copiar los datos, pero que en la primera columna que son fechas puedan ser consecutivas.

пример

en vez de que quede asi

10 01-2022 Хуан Рамирес
10 01-2022 Хуан Рамирес
10 01-2022 Хуан Рамирес

quede asi

10 01-2022 Хуан Рамирес
11 01-2022 Хуан Рамирес
12 01-2022 Хуан Рамирес

Gracias
Этот комментарий был сведен к минимуму модератором на сайте
Чудесный vba-скрипт!
У меня было более 5000 строк, между которыми мне нужно добавить новые строки. Все другие руководства говорили мне, что нужно сделать «вспомогательный» столбец, и мне потребуется немалая часть моей жизни, чтобы снова и снова добавлять 1,2 копии и пасты только для добавления новых строк.
Итак, спасибо за это!
Номинальный 5 из 5
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL