Предположим, у вас есть диапазон данных, и вы хотите автоматически вставлять пустые строки выше или ниже определенного значения в Excel, например, автоматически вставлять строки ниже нулевого значения, как показано ниже. В Excel нет прямого способа решить эту задачу, но я могу ввести код макроса для автоматической вставки строк на основе определенного значения в Excel.
Вставить строку ниже на основе значения ячейки с помощью VBA
Вставьте строку выше на основе значения ячейки с помощью Kutools for Excel
Чтобы вставить строку на основе значения ячейки, запустив VBA, выполните следующие действия:
1. Нажмите Alt + F11 одновременно, а Microsoft Visual Basic для приложений окно выскакивает.
2. Нажмите Вставить > Модули, затем вставьте ниже код VBA во всплывающий Модули окно.
VBA: вставьте строку ниже на основе значения ячейки.
Sub BlankLine()
'Updateby20150203
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
Set WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
For xRowIndex = xLastRow To 1 Step - 1
Set Rng = WorkRng.Range("A" & xRowIndex)
If Rng.Value = "0" Then
Rng.Offset(1, 0).EntireRow.Insert Shift: = xlDown
End If
Next
Application.ScreenUpdating = True
End Sub
3. Нажмите F5 ключа или Run нажмите кнопку, появится диалоговое окно и выберите столбец, содержащий ноль. Смотрите скриншот:
4. Нажмите OK. Тогда пустые строки будут вставлены ниже нулевого значения.
Функции:
1. Если вы хотите вставить строки на основе другого значения, вы можете изменить 0 на любое значение, которое вы хотите в VBA: Если Rng.Value = «0», то.
2. Если вы хотите вставить строки выше нуля или другого значения, вы можете использовать приведенный ниже код vba.
VBA: вставить строку выше нулевого значения:
Sub BlankLine()
'Updateby20150203
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
Set WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
For xRowIndex = xLastRow To 1 Step - 1
Set Rng = WorkRng.Range("A" & xRowIndex)
If Rng.Value = "0" Then
Rng.EntireRow.Insert Shift: = xlDown
End If
Next
Application.ScreenUpdating = True
End Sub
Если вы не знакомы с VBA, вы можете попробовать Kutools for Excel‘s Выбрать определенные ячейки утилита, а затем вставьте строки выше.
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
1. Выберите список, из которого вы хотите найти определенные ячейки, и нажмите Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:
2. В появившемся диалоговом окне отметьте Весь ряд вариант, а затем перейдите, чтобы выбрать Равно от Конкретный тип список, а затем введите значение, которое вы хотите найти, в правом текстовом поле. Смотрите скриншот:
3. Нажмите Ok, и появится диалоговое окно, напоминающее количество выбранных строк, просто закройте его.
4. Поместите курсор в одну выбранную строку и щелкните правой кнопкой мыши, чтобы выбрать Вставить из контекстного меню. Смотрите скриншот:
Теперь строки вставляются выше на основе определенного значения.
Относительные статьи:
- Вставить пустые строки в Excel
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (43)
Оценок пока нет. Оцените первым!
Добавление строк в зависимости от условия |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Какой формулой можно вставить в таблицу пустые строки (или строчку шапки) с нужным шагом?
Как в Excel вставить шапку таблицы с определенным шагом?
Как в таблицу Excel вставить пустую строку через строку?
Как в Эксель таблицу вставить строку через каждые несколько строк?
Возможно ли в ячейке Эксель таблицы указать через сколько строчек вставлять строку?
Считаем что таблица записана начиная с ячейки A4
и необходимо распечатать строчки через одну.
Составим формулу, печатающую пустую строку для ячеек у которых остаток от деления на шаг +1 равен нулю, а сами ячейки сдвигаются на число добавленных ячеек: ЦЕЛОЕ(( СТРОКА() — СТРОКА($A$4))/2 ).
если надо печатать через строчку (шаг+1=2) то формула выглядит так:
=ЕСЛИ( ОСТАТ(( СТРОКА() — СТРОКА($A$4)+1) ;2)=0 ; » «; ДВССЫЛ(«R»&( СТРОКА(A4)- ЦЕЛОЕ(( СТРОКА() — СТРОКА($A$4))/2 ))&»C»&СТОЛБЕЦ( A4);0))
Эту формулу надо растянуть на всё поле таблицы.
если требуется делить таблицу каждый раз на новое количество строк, то количество строк можно записать в ячейку ($Q$1) и печатать уже не пустую строку а строку шапки (ячейка A$3). Это легко можно сделать формулой:
=ЕСЛИ( ОСТАТ(( СТРОКА()- СТРОКА($A$4)+1) ; $Q$1+1)=0; A$3; ДВССЫЛ( «R»&(СТРОКА(A4)- ЦЕЛОЕ(( СТРОКА()- СТРОКА($A$4))/( $Q$1+1)) )&»C»&СТОЛБЕЦ( A4);0))
Как добавить пустую строку в excel после каждой заполненной строки
Иногда пользователь, составляя таблицу, забывает ввести некоторые данные. Когда он начинает понимать, что пропустил ценную информацию или забыл её дополнить, то пытается вместить все необходимое в готовую таблицу. Однако таким образом можно допустить ряд ошибок, в результате которых могут исчезнуть другие данные, или же просто ничего не изменится.
Обычно так случается с новичками, которые мало что знают о функциональности табличного процессора Excel и о том, как добавлять строки с информацией в готовую таблицу. Можно испробовать несколько действенных методов, которые помогут добавить или убрать строки в листе и в самой таблице.
Как добавить строку в таблицу Эксель
Табличный процессор Эксель является самой удобной и функциональной программой для составления таблиц. Он обладает специальными функциями, которые помогают изменять вид уже готовых документов. Как профессионалы, так и новички могут без проблем добавлять строки в абсолютно каждом уголке объекта.
Способ 1: листание таблицы
- Для вставки пустой строчки в конец таблицы можно просто листать колёсиком мыши вниз. Однако для начала нужно довести ползунок, который находится слева, вниз до предела. При этом будут появляться новые строки. Их количество зависит от того, сколько Вы их будет листать.
Данный способ действительно работает, если Вы создаёте или редактируете таблицу сразу в Экселе.
Способ 2: добавление клавишей «Tab», выделение клавишей «Enter»
Такой способ подходит в том случае, если необходимо удлинить строки или добавить столбцы и ячейки. Здесь понадобится исключительно клавиатура.
- Нажимаем на клавишу «Tab». С помощью этих действий мы сможем добавить и выделить ячейки, строки и столбцы. С каждым нажатием будет появляться выделятся следующая ячейка.
Способ 3: добавление клавишей «Enter»
Этот метод сильно напоминает предыдущий. Здесь снова будет задействована клавиша «Enter».
- Чтобы добавить нижнюю строку в таблице, достаточно ввести данные в ячейку или строку, и нажать клавишу «Enter». Тогда Вас перекинет на следующую строку, которая будет принадлежать таблице.
Способ 4: растягивание таблицы
Вставить строку можно с помощью мышки, не используя клавиатуру.
- Для этого курсор наводим к маленькому правому уголочку таблицы. Стандартный курсор поменяется на двойные чёрные стрелки. Теперь задерживаем левую кнопку мыши и растягиваем таблицу.
Способ 5: вставка через контекстное меню
Существует ещё один способ вставки дополнительной строки.
- Для этого подведите курсор мыши к строчке, над которой необходимо добавить другую. Когда вид курсора станет похож на белый крест, клацнете правой кнопкой мыши, после чего откроется контекстное меню. Находите пункт «Вставка», и выбираете нужное действие. Нас сейчас интересует «Строки таблицы выше». Нажимаем туда и над выделенной строкой появится новая.
Способ 6: добавление нескольких строчек
- Для того чтобы вставить несколько строчек, воспользуемся методом №5. Только выделяем не одну строчку, а несколько. После клацаем правой кнопкой мыши, и в контекстном меню выбираем «Вставка» и «Строки таблицы выше».
Как вставлять строки в разных местах
Многих мучает именно этот вопрос, так как часто приходится добавлять строки в разных частях таблицы. Однако это дело станет долгим и нудным, если вставлять всё время по одной строчке. А если их будет сотня, и находиться они будут в разных частях таблицы? Тогда нам поможет именно этот способ.
- Нажмите и удерживайте клавишу «CTRL», выделите поочерёдно нужные строки (к примеру, шестая, тридцатая, сотая). Теперь действуйте по методу 5: заходите в меню и выбираете вставку строк. Во время вставки ссылки, как абсолютные, так и относительные, настраиваются в автоматической форме.
Теперь Вы знаете, как добавлять строки в различные участки готовой таблицы Эксель. Как видите, способов немало, тем более, каждый из них рабочий и простой. Возможно, предоставленная информация пригодится Вам в будущем и Вы воспользуетесь ею.
Добавление строк в excel по условию
Иногда необходимо вставлять большое количество пустых строк по различным условиям и в ручную этот процесс занимает много времени. Для упрощения данного процесса в функционал надстройки добавлена функция «Вставить пустые строки».
Чтобы воспользоваться функцией перейдите на вкладку «VBA-Excel» в разделе «Ячейки и диапазоны» откройте меню «Вставить», выберите «Вставить пустые строки».
Появится диалоговое окно с выбором опций для вставки строк. Необходимо выбрать опции в соответствии с тем какая стоит задача.
Вставка произвольного количества строк
Для этого в поле «Условие» необходимо выбрать пункт «Вставить N пустых строк»
Для того что бы указать в какую строку вставлять пустые строки нужно в поле «Начиная со строки» указать номер нужной строки.
Это можно сделать двумя способами:
- Вручную ввести номер строки.
- Нажать кнопку «…» расположенную рядом с полем «Начиная со строки», после чего откроется окно выбора строки. Далее нужно выбрать любую ячейку находящуюся в нужной строку и нажать «Ок»
После чего в поле Количество указать сколько пустых строк нужно вставить. И нажать кнопку «Ок»
Например, нужно вставить 5 пустых строк с 7 строки. тогда ввод в диалоговое окно будет выглядеть следующим образом:
Вставка строк через заданное количество строк
Для этого в поле «Условие» должно быть выбрано «Вставлять через каждые N строк».
В данном режиме нужное количество строк вставляется через равные промежутки в пределах, указанных в поле «Диапазон»
В поле «Диапазон» можно указать «Текущий лист» или «Выделение».
- В первом случае вставляются пустые строки с первой строки до последней, в которой есть какие-либо значения.
- Во втором пустые строки вставляются только в рамках текущего выделения.
Как и в первом режиме нужно указать строку, с которой начнет работать алгоритм и количество пустых строк
А в поле «Вставлять через» указывается сколько строк будет пропускаться при вставке следующих пустых строк.
Например, нужно вставить 2 пустые строки через каждые 2 строки, начиная с 6 строки, тогда диалоговое окно примет следующий вид:
Вставка строк при изменении значения в столбце
Для этого в поле «Условие» должно быть выбрано «Вставлять по изменению значения в столбце»
В этом режиме пустые строки вставляются в том случае если в выбранном столбце меняется значение.
Для указания столбца, по которому просматриваются значения, нужно в поле «Столбец» ввести имя столбца. Это можно сделать двумя способами:
- Вручную ввести имя столбца
- Нажать кнопку «…» расположенную рядом с полем «Столбец», после чего откроется окно выбора столбца. Далее нужно выбрать любую ячейку находящуюся в нужном столбце и нажать «Ок»
Например, вам нужно отделить каждый новый артикул в столбце А пустой строкой. Тогда диалоговое окно примет вид:
Вставка строк при определенном значении в столбце
Для этого в поле «Условие» должно быть выбрано «Вставлять по значению в столбце».
В этом случае вставка пустых строк происходит по совпадению значения выбранного столбца со значением указанным в поле «Значение».
Например, нужно вставить пустые строки там, где в столбце «Флаг» находится значение «f». В этом случае выбираем следующие настройки:
Fairuza, еще раз спасибо, что помогаете систематизировать мои желания с возможностями экселя)
Итак:
1) В принципе оно так и идет, Вы предлагаете сделать столбец со сроком годности и по нему отслеживать. Но в таком случае надо будет каждый раз задавать новый адрес критерия суммирования, поэтому я их вынес в константные ячейки (сверху) и сразу задал условное форматирование срока годности, чтобы подсвечивал красным за 2 месяца до окончания.
Либо я как то Вас недопонял….
2) Примерный срок окончания не получается задать, все цифры — переменные (количество пациентов, их вес, их дозировка) + шприцы с разными дозами… Пример: нужно назначить 9000 общую дозу, и назначают 1 флакон с дозировкой 10000 т.к. допустимо по инструкции, а могут так же 4 флакона по 2000 что так же допустимо… Зависит от дополнительной информации, которая есть у врача. Плюс, у нас возможна поставка третей дозировки и тогда… тогда нужно вспоминать комбинаторику, но в любом случае строгой формулой не задать.
Поэтому учет препарата в центрах думал вести так:
Приход в центр = расход в этот центр со склада (критерий суммирования 1) и дальше разбивка по сериям (критерий суммирования 2), к серии можно привязать и дозу, и срок годности, который так же условно форматируется… т.е. можем избежать лишнего блока для каждой дозировки и ориентироваться по сериям. Для удобства восприятия сделаю условное форматирование бледным цветом каждую дозировку.
Возникает вопрос, опять же, каким образом вставить эти строчки с сериями в каждый центр? (или сделать, как Вы говорили, выпадающим списком. Это проще. И сделать отдельный столбец с общим количество каждой дозировки каждого из препаратов.. да так должно быть проще, думаю мне нужен где то час, попробую выкинуть образец)
3. Я не поставщик И обязан за всем следить, вплоть до того, какая серия,доза и в какую дату назначалась каждому пациенту.
Проводится клиническое исследование и я руководитель этого проекта. Т.к. руками и глазами за всем уследить нереально, а проект такой не единственный — решил создать единый шаблон интерактивной таблицы, которую с минимальными затратами времени можно будет трансформировать под любые другие нужды…
Поэтому немного дуб в экселе, т.к. в другой сфере) Поэтому обратился за помощью, мог бы наверно и сам разобраться, но время стоит очень дорого(
Если есть желание — могу как нибудь в выходные проставиться (это если в Москве), по другим городам катаюсь, но это нужно с графиком сверять) Но, с удовольствием, исполню какую-нибудь ответную полезность)
Добавлено через 6 минут
Отдельный вопрос теперь с выпадающим списком:
нужно чтобы он брал значения из заданных ячеек (в данном случае, каждая третья в столбце B). И в случае выбора одного из значений выдавал в данной строке связанные данные (срок годности, дозировка).
Не поможете?
Содержание
- Размер ячейки
- Макрос для вставки строк с определенной высотой
- Высота строки
- Добавление нескольких пустых строк в таблицу Excel
- Описание работы
- Вставка произвольного количества строк
- Вставка строк при изменении значения в столбце
- Удаление пустых строк
- Надстройка позволяет:
- Как вставить/добавить заданное количество пустых/новых строк в определенные места?
Размер ячейки
Размер ячейки по высоте и ширине определяется высотой строки и шириной столбца, на пересечении которых она находится. Если, в вашем случае, нежелательно изменять размеры всей строки или всего столбца, используйте объединенные ячейки нужной величины.
Обратите внимание, что высота строки задается в пунктах, а ширина столбца в символах, поэтому их числовые значения не соответствуют друг другу по фактическому размеру.
Высота строки и ширина столбца в Excel
Программно, без дополнительных макросов, можно изменять высоту строки только в пунктах, а ширину столбца только в символах.
На сайте поддержки офисных приложений Microsoft так написано об этих величинах:
- высота строки может принимать значение от 0 до 409 пунктов, причем 1 пункт приблизительно равен 1/72 дюйма или 0,035 см;
- ширина столбца может принимать значение от 0 до 255, причем это значение соответствует количеству символов, которые могут быть отображены в ячейке.
Макрос для вставки строк с определенной высотой
В таблице отчета по продажам в розничных точках содержаться объединенные ячейки, как показано ниже на рисунке:
Необходимо экспонировать группы ячеек для каждого штата. Для этого мы добавим по одной пустой строке между каждой группой розничных точек. При этом не имеет значение будет ли содержать группа объединенные ячейки или нет. Ведь некоторые группы состоят из одной строки. А также дополнительно уменьшим высоту этих пустых строк, чтобы внешний вид таблицы был стильным. Выполнить вручную все эти действия: выделение отдельных групп ячеек, вставка между ними пустых строк, а потом изменение высоты для этих же строк – это не рационально использование сил и времени. Особенно если таблица имеет десятки тысяч строк. Лучше написать свой макрос, который сам автоматически и молниеносно выполнит эту рутинную работу за Вас.
Перейдите в режим редактора макросов Visual Basic (ALT+F11):
Создайте в нем новый модуль с помощью инструмента: «Insert»-«Module». А потом запишите в него VBA-код самого макроса:
SubVstavkaStrok()
DimiAs Long
DimpustrokaAs Long
Fori = Selection.Rows.CountTo2Step-1
pustroka = Selection(i, 1).Row + 1
ActiveSheet.Rows(pustroka).Insert xlShiftDown
ActiveSheet.Rows(pustroka).RowHeight = 7
ActiveSheet.Rows(pustroka).Borders(xlInsideVertical). _
LineStyle = xlLineStyleNone
ActiveSheet.Rows(pustroka).Borders(xlEdgeLeft). _
LineStyle = xlLineStyleNone
ActiveSheet.Rows(pustroka).Borders(xlEdgeRight). _
LineStyle = xlLineStyleNone
ActiveSheet.Rows(pustroka).Interior. _
ColorIndex = xlColorIndexNone
i = i - Selection(i, 1).MergeArea.Rows.Count + 1
Next
End Sub
Теперь если мы хотим вставить по одной пустой строке между каждой объединенной и необъединенной ячейкой, которые находиться в столбце A? Тогда а в таблице отчета по продажам выделяем диапазон ячеек A:D18 и запускаем наш макрос выбрав инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«VstavkaStrok»-«Выполнить». После запуска макроса таблица будет выглядеть как показано на рисунке:
Сначала в коде объявлены две переменные:
- i – переменная выполняет роль счетчика в цикле.
- pustroka – переменная будет хранить в себе очередной номер для каждой строки выделенного диапазона.
В макросе находиться цикл, который запускает целый ряд инструкций для каждой строки в выделенном диапазоне ячеек. Направление цикла идет с нижней строки выделения к верхней.
- В первой инструкции мы присваиваем для переменной pustroka номер строки которая находиться под текущей строкой.
- Следующая инструкция добавляет пустую строку с высотой в 7 пикселей.
- Удаляются в добавленной строке все вертикальные границы, а также заливка.
- Уменьшается значение переменной i на количество строк, которые охватывает текущая объединенная ячейка, находящаяся в первом столбце выделенного диапазона.
Высота строки
Для изменения высоты строки используйте свойство RowHeight объекта Range. И не важно, будет объект Range представлять из себя выделенный произвольный диапазон, отдельную ячейку, целую строку или целый столбец – высота всех строк, пересекающихся с объектом Range будет изменена после присвоения свойству RowHeight этого объекта нового значения.
Примеры изменения высоты строк:
Пример 1
Изменение высоты отдельной ячейки:
ActiveCell.RowHeight = 10 |
в результате, строка, в которой находится активная ячейка, приобретает высоту, равную 10 пунктам.
Пример 2
Изменение высоты строки:
в результате, третья строка рабочего листа приобретает высоту, равную 30 пунктам.
Пример 3
Изменение высоты ячеек заданного диапазона:
Range(“A1:D6”).RowHeight = 20 |
в результате, каждой из первых шести строк рабочего листа будет задана высота, равная 20 пунктам.
Пример 4
Изменение высоты ячеек целого столбца:
Columns(5).RowHeight = 15 |
в результате, всем строкам рабочего листа будет назначена высота, равная 15 пунктам.
Для того, чтобы вставить несколько новых строк в документ, необходимо выделить строку, выше которой нужно добавить новые строки, и не отпуская левой кнопки мыши выделить столько строк, сколько нужно вставить.
После того как строки выделены, необходимо щелкнуть правой кнопкой мыши на выделенном участке листа и из контекстного меню выбрать пункт «Вставить», либо воспользоваться кнопками во вкладках ленты, аналогично тому, как это описано в предыдущем пункте.
Описание работы
Иногда необходимо вставлять большое количество пустых строк по различным условиям и в ручную этот процесс занимает много времени. Для упрощения данного процесса в функционал надстройки добавлена функция «Вставить пустые строки».
Чтобы воспользоваться функцией перейдите на вкладку «VBA-Excel» в разделе «Ячейки и диапазоны» откройте меню «Вставить», выберите «Вставить пустые строки».
Появится диалоговое окно с выбором опций для вставки строк. Необходимо выбрать опции в соответствии с тем какая стоит задача.
Вставка произвольного количества строк
Для этого в поле «Условие» необходимо выбрать пункт «Вставить N пустых строк»
Для того что бы указать в какую строку вставлять пустые строки нужно в поле «Начиная со строки» указать номер нужной строки.
Это можно сделать двумя способами:
- Вручную ввести номер строки.
- Нажать кнопку «…» расположенную рядом с полем «Начиная со строки», после чего откроется окно выбора строки. Далее нужно выбрать любую ячейку находящуюся в нужной строку и нажать «Ок»
После чего в поле Количество указать сколько пустых строк нужно вставить. И нажать кнопку «Ок»
Например, нужно вставить 5 пустых строк с 7 строки. тогда ввод в диалоговое окно будет выглядеть следующим образом:
Результатом будет:
Вставка строк при изменении значения в столбце
Для этого в поле «Условие» должно быть выбрано «Вставлять по изменению значения в столбце»
В этом режиме пустые строки вставляются в том случае если в выбранном столбце меняется значение.
Для указания столбца, по которому просматриваются значения, нужно в поле «Столбец» ввести имя столбца. Это можно сделать двумя способами:
- Вручную ввести имя столбца
- Нажать кнопку «…» расположенную рядом с полем «Столбец», после чего откроется окно выбора столбца. Далее нужно выбрать любую ячейку находящуюся в нужном столбце и нажать «Ок»
Например, вам нужно отделить каждый новый артикул в столбце А пустой строкой. Тогда диалоговое окно примет вид:
Результат:
Удаление пустых строк
Удаление строк в таблицах Excel уже рассматривалось на страницах этого сайта, удаление же пустых строк является частным случаем удаления строк, следует заметить, что удаление пустых строк, как собственно и их вставку, можно производить программно, при помощи макроса (надстройки). Обо всем этом можно прочитать подробнее.
Надстройка позволяет:
1. Находить пустые ячейки, непустые ячейки, ячейки с заданным цветом заливки, ячейки с заданными числовыми и текстовыми значениями (цифрами, буквами, символами, словами и так далее). Задавать для поиска можно как единичное значение, так и несколько значений, через знак-разделитель “;” (точка с запятой);
2. вставлять заданное количество пустых строк как выше, так и ниже строк с искомым значением;
3. вставлять разное количество пустых строк в зависимости от значения, указанного в заданном столбце;
4. осуществлять вставку новых строк ниже каждой второй, третьей, пятой, n-ной строки выбранного диапазона (шаг задается пользователем);
5. вставлять пустые строки при каждой смене значения в заданном столбце;
6. вставлять пустые строки ниже каждой заполненной ячейки в заданном столбце;
7. задавать диапазон для вставки строк, для этого предусмотрено несколько режимов:
а) используемый диапазон листа — диапазон активного листа, включающий в себя все ячейки, находящиеся между первой заполненной и последней заполненной ячейкой;
б) используемые диапазоны — отличается от предыдущего режима тем, что обработка данных производится в используемом диапазоне каждого листа рабочей книги;
в) диапазон листа — диапазон, который выберет пользователь;
г) диапазоны листов — это одноименные диапазоны на всех листа рабочей книги.
*Внимательно выбирайте диапазон для получения желаемого результата!
8. выбирать необходимые условия для значений ячеек.
Для числовых значений: равно/не равно, больше/не больше, меньше/не меньше.
Для текстовых значений: совпадает/не совпадает, содержит/не содержит, начинается/не начинается, заканчивается/не заканчивается.
Я написал макрос, который ищет столбец для ячейки, которая содержит текст “AddCompany”, а затем для каждой такой ячейки, вставляет новую строку в другой лист, а затем копирует и вставляет значение смежной ячейки (которая содержит имя компании) в эту новую строку.
В моей копии я использую составленные имена в ячейках “Test Company 1” через “Test Company 4” для проверки макроса. Макрос правильно вставляет 4 новые строки, но только последняя компания “Test Company 4” вставлена. И он вставляется в неправильную ячейку, в строке непосредственно под вновь вставленными строками.
Конечным результатом является то, что макрос вставляет строки с 9 по 12 и вставляет “Test Company 4” в строку 13, которая уже содержит имя (которое я не хочу менять).
Я хочу, чтобы макрос делал это, чтобы вставить “новую” строку (просто будет 9-я строка в этом случае, чтобы она поместилась в большую таблицу) для каждой найденной “AddCompany”, затем вставьте название компании в соседнюю ячейку, и повторить до завершения. Вновь вставленные строки с 9 по 12 должны отображать каждую тестовую компанию в конце.
Как вставить/добавить заданное количество пустых/новых строк в определенные места?
Стандартными средствами Excel такую задачу решить можно не всегда, но не будем забывать про то, что существует такой мощный инструмент как VBA, позволяющий автоматизировать повторяющиеся однотипные действия. По инструкции устанавливается в приложение Excel надстройка для вставки пустых строк, которая предоставляет следующие возможности:
1. Выбор искомого значения, которым могут являться пустые ячейки, непустые ячейки, ячейки с заданным цветом заливки, ячейки с заданным числом, а также ячейки с заданным текстом (быквы, символы);
2. вставка заданного количества пустых строк как выше, так и ниже строк с искомым значением;
3. вставка разного количества пустых строк в зависимости от значения, указанного в заданном столбце;
4. вставка новых строк ниже каждой второй, третьей, пятой, n-ной строки выбранного диапазона (шаг задается пользователем);
5. вставлять пустые строки при каждой смене значения в заданном столбце;
6. вставлять пустые строки между заполненными (после каждой заполненной ячейки в столбце с заданным номером);
7. выбор диапазонов для вставки строк, предусмотрено несколько режимов:
а) используемый диапазон листа – диапазон активного листа, включающий в себя все ячейки, находящиеся между первой заполненной и последней заполненной ячейкой;
б) используемые диапазоны – отличается от предыдущего режима тем, что обработка данных производится в используемом диапазоне каждого листа рабочей книги;
в) диапазон листа – диапазон, который выберет пользователь;
г) диапазоны листов – это одноименные диапазоны на всех листа рабочей книги.
*Внимательно выбирайте диапазон для получения желаемого результата!
8. выбор необходимых условий для значений ячеек.
Для числовых значений: равно/не равно, больше/не больше, меньше/не меньше.
Для текстовых значений: совпадает/не совпадает, содержит/не содержит, начинается/не начинается, заканчивается/не заканчивается.
Программа выполняет проверку всех ячеек заданного диапазона и при выполнении выбранного условия вставляет нужное пользователю количество пустых строк над/под строкой (на выбор), содержащей ячейку с заданным значением. На выбор пользователя представлено множество условий для значений ячеек, с помощью которых можно определить места для вставки новых строк, а также предоставлен выбор диапазонов для обработки данных. Для большей гибкости поиск ячеек с нужными значениями можно осуществлять раздельно, как по текстовым значениям ячеек, так и по числовым. Предусмотрен также поиск как пустых, так и непустых ячеек. Этот макрос позволяет также добавлять новые строки в заданном количестве в каждую n-ую строку выбранного диапазона. Если, к примеру, вставить по две пустые строки ниже каждой второй строки диапазона А2:А24, т ополучим следующий результат:
Источники
- https://vremya-ne-zhdet.ru/vba-excel/razmer-yacheyki-vysota-stroki-shirina-stolbtsa-avtopodbor/
- https://exceltable.com/vba-macros/makros-dlya-dobavleniya-strok
- http://macros-vba.ru/nadstrojki/excel/105-kak-vstavit-dobavit-udalit-novye-pustye-stroki
- https://micro-solution.ru/projects/addin_vba-excel/insert_rows
- https://9726552.ru/makros-vstavit-stroku-posle-stroki-so-znachenijami/
На чтение 3 мин. Просмотров 69 Опубликовано 21.05.2021
Предположим, у вас есть диапазон данных, и вы хотите автоматически вставлять пустые строки выше или ниже определенного значения в Excel, например, автоматически вставлять строки ниже нулевого значения, как показано ниже. В Excel нет прямого способа решить эту задачу, но я могу ввести код макроса для автоматической вставки строк на основе определенного значения в Excel.
Вставить строку ниже на основе ячейки значение с VBA
Вставить строку выше на основе значения ячейки с помощью Kutools for Excel
Содержание
- Вставить строку ниже на основе значения ячейки с помощью VBA
- Вставить строку выше на основе значение ячейки с помощью Kutools for Excel
- Вставить строки сверху на основе значения ячейки
- Относительные статьи:
Вставить строку ниже на основе значения ячейки с помощью VBA
Чтобы вставить строку на основе значения ячейки с помощью VBA, выполните следующие действия:
1. Одновременно нажмите клавиши Alt + F11 , и появится окно Microsoft Visual Basic для приложений .
2. Нажмите Вставить > Module , затем вставьте ниже код VBA в всплывающее окно Module .
VBA: вставьте строку ниже на основе значения ячейки.
3. Нажмите клавишу F5 или Выполнить , появится диалоговое окно и выберите столбец, содержащий ноль. См. Снимок экрана:
4. Нажмите ОК . Затем пустые строки будут вставлены ниже нулевого значения.
Совет :
1. Если вы хотите вставить строки на основе другого значения, вы можете изменить 0 на любое значение в VBA: If Rng.Value = “0” Then.
2. Если вы хотите вставить строки с нулевым значением или другим значением, вы можете использовать приведенный ниже код vba.
VBA: Вставить строку с нулевым значением:
Вставить строку выше на основе значение ячейки с помощью Kutools for Excel
Если вы не знакомы с VBA, вы можете попробовать Kutools for Excel Выбрать Определенные ячейки , а затем вставьте строки выше.
Kutools for Excel , с более чем 300 удобными функциями, облегчит вашу работу. |
Бесплатная загрузка |
После установки Kutools for Excel, сделайте следующее: (Загрузите Kutools for Excel бесплатно прямо сейчас! )
1. Выберите список, из которого вы хотите найти определенные ячейки, и нажмите Kutools > Выбрать > Выбрать определенные ячейки . См. Снимок экрана:
2. В появившемся диалоговом окне установите флажок Вся строка , затем выберите Равно из списка Определенный тип , а затем введите значение, которое вы хотите найти, в правом текстовом поле. См. Снимок экрана:
3. Нажмите Ok , и появится диалоговое окно с напоминанием о количестве выбранных строк, просто закройте его.
4. Поместите курсор в одну выбранную строку и щелкните правой кнопкой мыши, чтобы выбрать Вставить из контекстного меню. См. Снимок экрана:
Теперь строки вставляются выше на основе определенного значения.
Вставить строки сверху на основе значения ячейки
Kutools для Excel: 300 + функции, которые вам необходимы в Excel, 30-дневная бесплатная пробная версия отсюда
Относительные статьи:
- Вставьте пустые строки в Excel