Excel добавление строк при условии

doc-insert-row-based-on-value-1

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

Вставьте строку выше на основе значения ячейки с помощью Kutools for Excel хорошая идея3


Чтобы вставить строку на основе значения ячейки, запустив 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 нажмите кнопку, появится диалоговое окно и выберите столбец, содержащий ноль. Смотрите скриншот:
doc-insert-row-based-on-value-2

4. Нажмите OK. Тогда пустые строки будут вставлены ниже нулевого значения.
doc-insert-row-based-on-value-3

Функции:

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

doc-insert-row-based-on-value-4


Если вы не знакомы с VBA, вы можете попробовать Kutools for Excel‘s Выбрать определенные ячейки утилита, а затем вставьте строки выше.

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Выберите список, из которого вы хотите найти определенные ячейки, и нажмите Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:
doc вставить строку на основе значения 9

2. В появившемся диалоговом окне отметьте Весь ряд вариант, а затем перейдите, чтобы выбрать Равно от Конкретный тип список, а затем введите значение, которое вы хотите найти, в правом текстовом поле. Смотрите скриншот:
doc вставить строку на основе значения 6

3. Нажмите Ok, и появится диалоговое окно, напоминающее количество выбранных строк, просто закройте его.

4. Поместите курсор в одну выбранную строку и щелкните правой кнопкой мыши, чтобы выбрать Вставить из контекстного меню. Смотрите скриншот:
doc вставить строку на основе значения 7

Теперь строки вставляются выше на основе определенного значения.
doc вставить строку на основе значения 8


Относительные статьи:

  • Вставить пустые строки в Excel

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

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

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

вкладка kte 201905


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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (43)


Оценок пока нет. Оцените первым!

Содержание

  1. Как добавить пустую строку в excel после каждой заполненной строки
  2. Как в Excel вставить пустую строку с шагом в одну или несколько строк?
  3. Как добавить пустую строку в excel после каждой заполненной строки
  4. Как добавить строку в таблицу Эксель
  5. Способ 1: листание таблицы
  6. Способ 2: добавление клавишей «Tab», выделение клавишей «Enter»
  7. Способ 3: добавление клавишей «Enter»
  8. Способ 4: растягивание таблицы
  9. Способ 5: вставка через контекстное меню
  10. Способ 6: добавление нескольких строчек
  11. Как вставлять строки в разных местах
  12. Добавление строк в excel по условию
  13. Вставка произвольного количества строк
  14. Вставка строк через заданное количество строк
  15. Вставка строк при изменении значения в столбце
  16. Вставка строк при определенном значении в столбце
  17. Добавление строк в excel по условию
  18. Описание работы
  19. Вставка произвольного количества строк
  20. Вставка строк через заданное количество строк
  21. Вставка строк при изменении значения в столбце
  22. Вставка строк при определенном значении в столбце

Как добавить пустую строку в excel после каждой заполненной строки

Как в Excel вставить пустую строку с шагом в одну или несколько строк?

Какой формулой можно вставить в таблицу пустые строки (или строчку шапки) с нужным шагом?

Как в Excel вставить шапку таблицы с определенным шагом?

Как в таблицу Excel вставить пустую строку через строку?

Как в Эксель таблицу вставить строку через каждые несколько строк?

Возможно ли в ячейке Эксель таблицы указать через сколько строчек вставлять строку?

Считаем что таблица записана начиная с ячейки A4

и необходимо распечатать строчки через одну.

Составим формулу, печатающую пустую строку для ячеек у которых остаток от деления на шаг +1 равен нулю, а сами ячейки сдвигаются на число добавленных ячеек: ЦЕЛОЕ(( СТРОКА() — СТРОКА($A$4))/2 ).

если надо печатать через строчку (шаг+1=2) то формула выглядит так:

Эту формулу надо растянуть на всё поле таблицы.

если требуется делить таблицу каждый раз на новое количество строк, то количество строк можно записать в ячейку ($Q$1) и печатать уже не пустую строку а строку шапки (ячейка A$3). Это легко можно сделать формулой:

Как добавить пустую строку в excel после каждой заполненной строки

Иногда пользователь, составляя таблицу, забывает ввести некоторые данные. Когда он начинает понимать, что пропустил ценную информацию или забыл её дополнить, то пытается вместить все необходимое в готовую таблицу. Однако таким образом можно допустить ряд ошибок, в результате которых могут исчезнуть другие данные, или же просто ничего не изменится.

Обычно так случается с новичками, которые мало что знают о функциональности табличного процессора Excel и о том, как добавлять строки с информацией в готовую таблицу. Можно испробовать несколько действенных методов, которые помогут добавить или убрать строки в листе и в самой таблице.

Как добавить строку в таблицу Эксель

Табличный процессор Эксель является самой удобной и функциональной программой для составления таблиц. Он обладает специальными функциями, которые помогают изменять вид уже готовых документов. Как профессионалы, так и новички могут без проблем добавлять строки в абсолютно каждом уголке объекта.

Способ 1: листание таблицы

    Для вставки пустой строчки в конец таблицы можно просто листать колёсиком мыши вниз. Однако для начала нужно довести ползунок, который находится слева, вниз до предела. При этом будут появляться новые строки. Их количество зависит от того, сколько Вы их будет листать.

Данный способ действительно работает, если Вы создаёте или редактируете таблицу сразу в Экселе.

Способ 2: добавление клавишей «Tab», выделение клавишей «Enter»

Такой способ подходит в том случае, если необходимо удлинить строки или добавить столбцы и ячейки. Здесь понадобится исключительно клавиатура.

    Нажимаем на клавишу «Tab». С помощью этих действий мы сможем добавить и выделить ячейки, строки и столбцы. С каждым нажатием будет появляться выделятся следующая ячейка.

Способ 3: добавление клавишей «Enter»

Этот метод сильно напоминает предыдущий. Здесь снова будет задействована клавиша «Enter».

    Чтобы добавить нижнюю строку в таблице, достаточно ввести данные в ячейку или строку, и нажать клавишу «Enter». Тогда Вас перекинет на следующую строку, которая будет принадлежать таблице.

Способ 4: растягивание таблицы

Вставить строку можно с помощью мышки, не используя клавиатуру.

    Для этого курсор наводим к маленькому правому уголочку таблицы. Стандартный курсор поменяется на двойные чёрные стрелки. Теперь задерживаем левую кнопку мыши и растягиваем таблицу.

Способ 5: вставка через контекстное меню

Существует ещё один способ вставки дополнительной строки.

    Для этого подведите курсор мыши к строчке, над которой необходимо добавить другую. Когда вид курсора станет похож на белый крест, клацнете правой кнопкой мыши, после чего откроется контекстное меню. Находите пункт «Вставка», и выбираете нужное действие. Нас сейчас интересует «Строки таблицы выше». Нажимаем туда и над выделенной строкой появится новая.

Способ 6: добавление нескольких строчек

    Для того чтобы вставить несколько строчек, воспользуемся методом №5. Только выделяем не одну строчку, а несколько. После клацаем правой кнопкой мыши, и в контекстном меню выбираем «Вставка» и «Строки таблицы выше».

Как вставлять строки в разных местах

Многих мучает именно этот вопрос, так как часто приходится добавлять строки в разных частях таблицы. Однако это дело станет долгим и нудным, если вставлять всё время по одной строчке. А если их будет сотня, и находиться они будут в разных частях таблицы? Тогда нам поможет именно этот способ.

  1. Нажмите и удерживайте клавишу «CTRL», выделите поочерёдно нужные строки (к примеру, шестая, тридцатая, сотая). Теперь действуйте по методу 5: заходите в меню и выбираете вставку строк. Во время вставки ссылки, как абсолютные, так и относительные, настраиваются в автоматической форме.

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

Добавление строк в excel по условию

Иногда необходимо вставлять большое количество пустых строк по различным условиям и в ручную этот процесс занимает много времени. Для упрощения данного процесса в функционал надстройки добавлена функция «Вставить пустые строки».

Чтобы воспользоваться функцией перейдите на вкладку «VBA-Excel» в разделе «Ячейки и диапазоны» откройте меню «Вставить», выберите «Вставить пустые строки».

Появится диалоговое окно с выбором опций для вставки строк. Необходимо выбрать опции в соответствии с тем какая стоит задача.

Вставка произвольного количества строк

Для этого в поле «Условие» необходимо выбрать пункт «Вставить N пустых строк»
Для того что бы указать в какую строку вставлять пустые строки нужно в поле «Начиная со строки» указать номер нужной строки.
Это можно сделать двумя способами:

  • Вручную ввести номер строки.
  • Нажать кнопку «…» расположенную рядом с полем «Начиная со строки», после чего откроется окно выбора строки. Далее нужно выбрать любую ячейку находящуюся в нужной строку и нажать «Ок»

После чего в поле Количество указать сколько пустых строк нужно вставить. И нажать кнопку «Ок»

Например, нужно вставить 5 пустых строк с 7 строки. тогда ввод в диалоговое окно будет выглядеть следующим образом:

Вставка строк через заданное количество строк

Для этого в поле «Условие» должно быть выбрано «Вставлять через каждые N строк».
В данном режиме нужное количество строк вставляется через равные промежутки в пределах, указанных в поле «Диапазон»
В поле «Диапазон» можно указать «Текущий лист» или «Выделение».

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

Как и в первом режиме нужно указать строку, с которой начнет работать алгоритм и количество пустых строк
А в поле «Вставлять через» указывается сколько строк будет пропускаться при вставке следующих пустых строк.

Например, нужно вставить 2 пустые строки через каждые 2 строки, начиная с 6 строки, тогда диалоговое окно примет следующий вид:

Вставка строк при изменении значения в столбце

Для этого в поле «Условие» должно быть выбрано «Вставлять по изменению значения в столбце»

В этом режиме пустые строки вставляются в том случае если в выбранном столбце меняется значение.

Для указания столбца, по которому просматриваются значения, нужно в поле «Столбец» ввести имя столбца. Это можно сделать двумя способами:

  • Вручную ввести имя столбца
  • Нажать кнопку «…» расположенную рядом с полем «Столбец», после чего откроется окно выбора столбца. Далее нужно выбрать любую ячейку находящуюся в нужном столбце и нажать «Ок»

Например, вам нужно отделить каждый новый артикул в столбце А пустой строкой. Тогда диалоговое окно примет вид:

Вставка строк при определенном значении в столбце

Для этого в поле «Условие» должно быть выбрано «Вставлять по значению в столбце».

В этом случае вставка пустых строк происходит по совпадению значения выбранного столбца со значением указанным в поле «Значение».

Например, нужно вставить пустые строки там, где в столбце «Флаг» находится значение «f». В этом случае выбираем следующие настройки:

Источник

Добавление строк в excel по условию

Описание работы

Иногда необходимо вставлять большое количество пустых строк по различным условиям и в ручную этот процесс занимает много времени. Для упрощения данного процесса в функционал надстройки добавлена функция «Вставить пустые строки».

Чтобы воспользоваться функцией перейдите на вкладку «VBA-Excel» в разделе «Ячейки и диапазоны» откройте меню «Вставить», выберите «Вставить пустые строки».

Появится диалоговое окно с выбором опций для вставки строк. Необходимо выбрать опции в соответствии с тем какая стоит задача.

Вставка произвольного количества строк

Для этого в поле «Условие» необходимо выбрать пункт «Вставить N пустых строк»
Для того что бы указать в какую строку вставлять пустые строки нужно в поле «Начиная со строки» указать номер нужной строки.
Это можно сделать двумя способами:

  • Вручную ввести номер строки.
  • Нажать кнопку «…» расположенную рядом с полем «Начиная со строки», после чего откроется окно выбора строки. Далее нужно выбрать любую ячейку находящуюся в нужной строку и нажать «Ок»

После чего в поле Количество указать сколько пустых строк нужно вставить. И нажать кнопку «Ок»

Например, нужно вставить 5 пустых строк с 7 строки. тогда ввод в диалоговое окно будет выглядеть следующим образом:

Вставка строк через заданное количество строк

Для этого в поле «Условие» должно быть выбрано «Вставлять через каждые N строк».
В данном режиме нужное количество строк вставляется через равные промежутки в пределах, указанных в поле «Диапазон»
В поле «Диапазон» можно указать «Текущий лист» или «Выделение».

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

Как и в первом режиме нужно указать строку, с которой начнет работать алгоритм и количество пустых строк
А в поле «Вставлять через» указывается сколько строк будет пропускаться при вставке следующих пустых строк.

Например, нужно вставить 2 пустые строки через каждые 2 строки, начиная с 6 строки, тогда диалоговое окно примет следующий вид:

Вставка строк при изменении значения в столбце

Для этого в поле «Условие» должно быть выбрано «Вставлять по изменению значения в столбце»

В этом режиме пустые строки вставляются в том случае если в выбранном столбце меняется значение.

Для указания столбца, по которому просматриваются значения, нужно в поле «Столбец» ввести имя столбца. Это можно сделать двумя способами:

  • Вручную ввести имя столбца
  • Нажать кнопку «…» расположенную рядом с полем «Столбец», после чего откроется окно выбора столбца. Далее нужно выбрать любую ячейку находящуюся в нужном столбце и нажать «Ок»

Например, вам нужно отделить каждый новый артикул в столбце А пустой строкой. Тогда диалоговое окно примет вид:

Вставка строк при определенном значении в столбце

Для этого в поле «Условие» должно быть выбрано «Вставлять по значению в столбце».

В этом случае вставка пустых строк происходит по совпадению значения выбранного столбца со значением указанным в поле «Значение».

Например, нужно вставить пустые строки там, где в столбце «Флаг» находится значение «f». В этом случае выбираем следующие настройки:

Источник

Добавление строк в зависимости от условия

ILYA_SERGEEVICH_1987

Дата: Четверг, 06.09.2018, 20:37 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Доброго времени суток подскажите как можно решить задачу по автоматическому добавлению строк при определённых условия. Есть определённый массив данных на Листе 1 (Примера) данные могут повторяться. На Листе 2 сведён другой массив данных вся загвоздка заключается что строк на Листе №2 может быть и 2 и 10 и 50 строк с одинаковыми значением для поиска. В результате данных манипуляций должны получить таблицу Лист 3 (сводную) куда добавлены данные по определённому алгоритму, а именно сведена таблица из листа №1 и в зависимости от того сколько имеется строк на листе №2 с определённым искомым значением столько строк и должно быть добавлено в сводную, данные в Листе 1 и 2 могут постоянно меняться или обновляться в зависимости от этого Лист №3 так же должен меняться по вышеперечисленному алгоритму. Подскажите как можно решить данную задачу, через стандартные функции решения найти не смог, если оно есть будет очень хорошо. Дума что через VBA решение должно быть точно. Заранее спасибо.

К сообщению приложен файл:

7807303.xlsx
(10.7 Kb)

 

Ответить

Pelena

Дата: Пятница, 07.09.2018, 08:23 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Здравствуйте.
Можно формулами подтянуть во вторую таблицу значения из первой и построить сводную.
Или с помощью PowerPivot объединить таблицы и построить сводную.


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

ILYA_SERGEEVICH_1987

Дата: Пятница, 07.09.2018, 19:10 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Здравствуйте. Спасибо что ответили. Честно говоря не умею пользоваться сводными таблицами, или может быть всё решать через функции и макросы привык. Обязательно конечно научусь пригодится. Но проблема в том что таблицей предстоит пользоваться «чайникам» в EXCEL. Им нужно просто вставить 2 отчета в определённые листы и должны получить третий. Какие либо действия с их стороны могут привести к фатальным ошибкам ввиду низкой компетенции.

 

Ответить

_Igor_61

Дата: Понедельник, 10.09.2018, 20:58 |
Сообщение № 4

Группа: Проверенные

Ранг: Ветеран

Сообщений: 504


Репутация:

90

±

Замечаний:
0% ±


Excel 2007

Здравствуйте! Проверяйте:

Сообщение отредактировал _Igor_61Понедельник, 10.09.2018, 21:23

 

Ответить

ILYA_SERGEEVICH_1987

Дата: Среда, 10.10.2018, 18:35 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Огромное спасибо то что нужно, если не затруднит выложите оба макроса с комментариями что за что отвечает, дальше я уже сам додумаю все

 

Ответить

7 / 7 / 1

Регистрация: 02.03.2011

Сообщений: 307

1

Добавление строк по условию

27.06.2021, 14:05. Показов 4811. Ответов 11


Студворк — интернет-сервис помощи студентам

Приветствую!
Есть прайс лист на 1000 позиций в excel,
нужно сделать второй лист, чтоб там отображались только те строки прайса, у которых столбец «Количество» не пустой.
То есть строки добавлялись по условию, на листе прайса она например 10, а на новом листе она окажется первой.
Подскажите решение задачи)

Название Код товара Цена Кол-во Сумма Магазин
Кабель силовой ВВГ-Пнг(А)-LS 2*1.5 1847757 43,55     ЭТМ
Кабель силовой ВВГ-Пнг(А)-LS 3*1.5 5242955 62,04 1   ЭТМ
Кабель силовой ВВГ-нг(А)-LS 4*1.5 6751203 83,11     ЭТМ
Кабель силовой ВВГ-Пнг(А)-LS 2х2.5 7174594 69,84 1   ЭТМ

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

Название Код товара Цена Кол-во Сумма Магазин
Кабель силовой ВВГ-Пнг(А)-LS 3*1.5 5242955 62,04 1 62,04 ЭТМ
Кабель силовой ВВГ-Пнг(А)-LS 2х2.5 7174594 69,84 1 69,84 ЭТМ



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

27.06.2021, 14:05

11

1232 / 670 / 238

Регистрация: 22.12.2015

Сообщений: 2,089

27.06.2021, 14:33

2

xxxspeed, отфильтруйте фильтром по строке «кол-во» и скопируйте отфильтрованные значения на новый лист путем обычного выделить-копировать-вставить.



0



7 / 7 / 1

Регистрация: 02.03.2011

Сообщений: 307

27.06.2021, 14:35

 [ТС]

3

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

Я написал формулы, чтоб на втором листе данные сразу отображались, но они отображаются в тех же строках.
Можно отсортировать и все будет ок.
Если есть вариант с авто сортировкой, при изменении таблица автоматически заново сортируется.



0



Dinoxromniy

1232 / 670 / 238

Регистрация: 22.12.2015

Сообщений: 2,089

27.06.2021, 14:46

4

Цитата
Сообщение от xxxspeed
Посмотреть сообщение

Либо если есть вариант с авто сортировкой, при изменении таблица автоматически заново сортируется.

Сложно сказать — кроме вас вашу таблицу никто видел.
Если таблицу оформить через ctrl+L как умную таблицу, и она на листе единственная — то достаточно в модуль листа скопировать код:

Visual Basic
1
2
3
Private Sub Worksheet_Change(ByVal Target As Range)
Me.ListObjects.Item(1).Range.AutoFilter Field:=4, Criteria1:="<>"
End Sub

Только если вы вручную вбиваете новые данные — начинайте с 4 столбца — который «количество», иначе таблица скроет новую строчку раньше, чем вы успеете ввести все ячейки строки. С копированием проблем быть не должно.



1



7 / 7 / 1

Регистрация: 02.03.2011

Сообщений: 307

27.06.2021, 15:48

 [ТС]

5

Цитата
Сообщение от Dinoxromniy
Посмотреть сообщение

Сложно сказать — кроме вас вашу таблицу никто видел.

Краткий фрагмент таблицы я опубликовал.

С листа прайс на второй лист данные я переношу формулой =ЕСЛИ(Прайс!$D2=»»;»»;Прайс!A2).

Код работает, я его добавил на второй лист. Единственное, нужно на втором листе сделать любое изменение, чтоб код сработал.
Как сделать, чтоб код на втором листе срабатывал при изменении первого листа?

Добавлено через 12 минут
Поправлюсь, при изменении колонки D (а лучше при изменении колонки в которой написано «Кол-во») на первом листе, срабатывал этот код на втором листе.
Потому что когда вышеуказанная формула изменяет выводимые значения код не срабатывает.



0



5942 / 3154 / 698

Регистрация: 23.11.2010

Сообщений: 10,524

27.06.2021, 16:11

6

Цитата
Сообщение от xxxspeed
Посмотреть сообщение

Краткий фрагмент таблицы я опубликовал

это картинка, тут даже названий столбцов не видно, это к тому

Цитата
Сообщение от xxxspeed
Посмотреть сообщение

при изменении колонки D



0



7 / 7 / 1

Регистрация: 02.03.2011

Сообщений: 307

27.06.2021, 16:23

 [ТС]

7

Цитата
Сообщение от Fairuza
Посмотреть сообщение

это картинка, тут даже названий столбцов не видно, это к тому

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



0



7 / 7 / 1

Регистрация: 02.03.2011

Сообщений: 307

27.06.2021, 16:27

 [ТС]

8

Вот файл, но без кода



0



7 / 7 / 1

Регистрация: 02.03.2011

Сообщений: 307

27.06.2021, 16:31

 [ТС]

9

Вот файл.
В файле выше из за удаления кода не корректный второй лист.



0



xxxspeed

7 / 7 / 1

Регистрация: 02.03.2011

Сообщений: 307

27.06.2021, 16:53

 [ТС]

10

Вопрос вроде решился, разобрался.
При переключении на второй лист происходит обновление.
Изменил код вот так:

Visual Basic
1
2
3
Private Sub Worksheet_Activate()
Me.ListObjects.Item(1).Range.AutoFilter Field:=4, Criteria1:="<>"
End Sub



0



1232 / 670 / 238

Регистрация: 22.12.2015

Сообщений: 2,089

29.06.2021, 10:08

11

xxxspeed, прошу прощения — руки не дошли написать.
Ваше решение оптимально, единственно — саму таблицу второго листа нужно руками растягивать (ну или изначально она должна быть много больше, чем на первом). В принципе, это можно программно делать. Насколько у вас актуально добавление строк в первую таблицу (если всего строк 1000, то во второй таблице можно сделать сразу 2000 и не париться с дополнительными решениями. Либо вставлять новые строки в табл2 каждый раз, когда добавились строки в табл1).



0



xxxspeed

7 / 7 / 1

Регистрация: 02.03.2011

Сообщений: 307

29.06.2021, 21:59

 [ТС]

12

Цитата
Сообщение от Dinoxromniy
Посмотреть сообщение

Ваше решение оптимально

Вот еще решение которое мне подсказали

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Worksheet_Activate()
Dim sh As Worksheet, sh2 As Worksheet, arr, arr2, i As Long, n As Long, x As Long, k As Long, lr As Long, lr2 As Long
Set sh = Worksheets("Прайс"): Set sh2 = Worksheets("Прайс2")
lr = sh.Cells(Rows.Count, 1).End(xlUp).Row
lr2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row
arr = sh.Range("A1:G" & lr)
k = Application.WorksheetFunction.CountIf(sh.Columns(4), "<>" & "")
ReDim arr2(1 To k, 1 To 7): x = 1
For i = LBound(arr) To UBound(arr)
    If Not IsEmpty(arr(i, 4)) Then
        For n = 1 To 7
            arr2(x, n) = arr(i, n)
        Next n
        x = x + 1
    End If
Next i
If lr2 >= 4 Then sh2.Range("A4:G" & lr2).Clear
sh2.Range("A4").Resize(UBound(arr2), 7) = arr2
End Sub

Подскажите только как изменить путь к листу в

Visual Basic
1
Set sh2 = Worksheets("Прайс2")

,
и в коде

Visual Basic
1
2
3
Private Sub Worksheet_Activate()
Me.ListObjects.Item(1).Range.AutoFilter Field:=4, Criteria1:="<>"
End Sub

чтоб копировал данные в другой файл.

Но в том решении есть свой плюс. Остаются рамки в таблице



0



Имеется табличка со строками «освещение» и «мелкое» необходимо чтобы при записи ячеек в 1 строке (ШР1,ШР2,ШР3 итд), под строками «освещение» и «мелкое» автоматически добавлялись строки с этими значениями (выделил красным), значений в 1 строке может быть сколько угодно, поэтому необходимо чтобы табличка сама «удлинялась».
Если первое «увеличение» таблички реализуется, то как сделать еще, чтобы в ячейке G10 и G18 производилось суммирование значений над ней в пределах (выделил синим), и итоговое суммирование значений ячеек G10 и G18 в ячейку G19?
Фото таблицы:
5f350fdd6f8d6292908464.jpeg


  • Вопрос задан

    более двух лет назад

  • 991 просмотр

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

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

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии