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)


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

На чтение 3 мин. Просмотров 69 Опубликовано 21.05.2021

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

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


Содержание

  1. Вставить строку ниже на основе значения ячейки с помощью VBA
  2. Вставить строку выше на основе значение ячейки с помощью Kutools for Excel
  3. Вставить строки сверху на основе значения ячейки
  4. Относительные статьи:

Вставить строку ниже на основе значения ячейки с помощью 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 удобными функциями, облегчит вашу работу.

Бесплатная загрузка
Бесплатная полнофункциональная 30-дневная

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

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

2. В появившемся диалоговом окне установите флажок Вся строка , затем выберите Равно из списка Определенный тип , а затем введите значение, которое вы хотите найти, в правом текстовом поле. См. Снимок экрана:

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

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

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

Вставить строки сверху на основе значения ячейки

Kutools для Excel: 300 + функции, которые вам необходимы в Excel, 30-дневная бесплатная пробная версия отсюда


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

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

Макрос: Добавление пустых строк под и по значению в ячейке

Time2burn

Дата: Пятница, 05.06.2015, 13:58 |
Сообщение № 1

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

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

Сообщений: 15


Репутация:

0

±

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


Excel 2003

Добрый день.
По работе необходимо делать некоторые вводные данные и постоянно нужно добавлять строки равные значению в ячейке. Буду очень признателен, если немного подскажите как мне поменять существующий похожий код, что б работал у меня в нужном русле) (нашел тут на форуме)
[vba]

Код

Private Sub ComboBox1_Change()
ComboBox1.ListFillRange = «=DDL_Range»
Me.ComboBox1.DropDown
End Sub

Private Sub CommandButton1_Click()
lr = Cells(Rows.Count, 1).End(xlUp).Row
vvv = ComboBox1.Value
Set sh = Sheets(«Áàçà äàííûõ»)
lr2 = sh.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lr2
     If sh.Cells(i, 1) = vvv Then vRow = i: Exit For
Next
If IsEmpty(vRow) Then Exit Sub
Range(«A» & lr + 1, «E» & lr + 1).Value = sh.Range(«A» & vRow, «E» & vRow).Value
End Sub

Sub test()
lr = Cells(Rows.Count, 1).End(xlUp).Row
Range(«A» & lr + 1, «E» & lr + 1).Value = Range(«A8», «E8»).Value
End Sub

[/vba]

У меня в ячейке значение к примеру 20 — тоесть нужно добавить 20-1 = 19 строк под этой ячейкой.
Макрос буду использовать не в одном файле, а в многих.
Спасибо за ответы!

 

Ответить

Roman777

Дата: Пятница, 05.06.2015, 14:39 |
Сообщение № 2

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

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

Сообщений: 980


Репутация:

127

±

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


Excel 2007, Excel 2013

Time2burn, я сам не профи, но мне кажется к данным макросам лучше файл приложить, ибо они привязаны к юзерформам, мне так кажется…)


Много чего не знаю!!!!

 

Ответить

Time2burn

Дата: Пятница, 05.06.2015, 15:09 |
Сообщение № 3

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

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

Сообщений: 15


Репутация:

0

±

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


Excel 2003

Я думаю не нужно, (так как это будет файл с цифрой 20 и остальное пусто) так как мне вроде проще намного задание нужно:
Добавить строк в количестве равном ячейке в которой курсор, как это сделать я без понятия, т.к. полный 0 в vba. В приведенном примере, пользователь просил при нажатии на макрос копировать строку вниз таблицы, а мне нужно просто добавить пустую в определенных количествах зависимых от значения ячейки.

 

Ответить

Roman777

Дата: Пятница, 05.06.2015, 15:22 |
Сообщение № 4

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

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

Сообщений: 980


Репутация:

127

±

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


Excel 2007, Excel 2013

Смотри я скинул пример, со своим макросом, я просто пока не оч понял что делает приведённый тобой код. Но вот в моём макросе запусти его и выбири столбец, в котором указаны кол-во добавляемых строк… так надо?
Код сделан деревянно… если кто меня поправит был бы рад (если это вообще то, что имелось в виду).

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

2467092.xlsm
(13.8 Kb)


Много чего не знаю!!!!

 

Ответить

Roman777

Дата: Пятница, 05.06.2015, 15:28 |
Сообщение № 5

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

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

Сообщений: 980


Репутация:

127

±

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


Excel 2007, Excel 2013

Time2burn, Простите, не увидел, что хотите по выделению ячейки.
Можно так:
[vba]

Код

Sub ДобавитьСтрокиПоВыделениюЯчейки()
Dim n As Long
Dim RowW As Long
Dim ColumnW As Long
Dim j As Long
RowW = Selection.Row
ColumnW = Selection.Column
    If Cells(RowW, ColumnW) <> «» Then
     For j = 1 To Cells(RowW + n, ColumnW)
      Rows(RowW + n + 1).Insert
      n = n + 1
     Next j
    End If
End Sub

[/vba]


Много чего не знаю!!!!

 

Ответить

Time2burn

Дата: Пятница, 05.06.2015, 15:44 |
Сообщение № 6

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

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

Сообщений: 15


Репутация:

0

±

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


Excel 2003

[moder]Не нужно цитировать весь предыдущий пост[/moder]

Именно то, что нужно. Благодарю!
А вот первоначальный пример еще интереснее, я и не думал так запрашивать, а с ходу вы предложили еще лучше вариант))) но почему-то не работает в других книгах. Наверное перенес не правильно, сейчас опробую вновь.

[i]На радостях не заметил — а как сделать что б добавляло на 1 строку меньше от значения в ячейке — первая с которой вставляю строки рабочая)

Сообщение отредактировал Time2burnПятница, 05.06.2015, 15:49

 

Ответить

Roman777

Дата: Пятница, 05.06.2015, 16:05 |
Сообщение № 7

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

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

Сообщений: 980


Репутация:

127

±

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


Excel 2007, Excel 2013

Time2burn, На самом деле, макрос оч плохо написан и расчитан на то, что у вас в ячейках либо пусто либо цифра. В других книгах чтобы работало, можно макрос сохранить в личную книгу макросов и запускать из той книги, в которой необходимо редактировать. И макрос требует выделения соответствующей ячейки.
Чтобы добавлялось на 1 меньше, надо подправить общее число повторений в цикле. Макрос будет такой:
[vba]

Код

Sub ДобавитьСтрокиПоВыделениюЯчейки()
Dim n As Long
Dim RowW As Long
Dim ColumnW As Long
Dim j As Long
RowW = Selection.Row
ColumnW = Selection.Column
    If Cells(RowW, ColumnW) <> «» Then
     For j = 1 To Cells(RowW + n, ColumnW) — 1
      Rows(RowW + n + 1).Insert
      n = n + 1
     Next j
    End If
End Sub

[/vba]


Много чего не знаю!!!!

Сообщение отредактировал Roman777Пятница, 05.06.2015, 16:07

 

Ответить

Roman777

Дата: Пятница, 05.06.2015, 16:10 |
Сообщение № 8

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

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

Сообщений: 980


Репутация:

127

±

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


Excel 2007, Excel 2013

Time2burn, Единственное, сразу замечу, что в этом случае, если в ячейке будет значение 1, то Макрос даст ошибку.


Много чего не знаю!!!!

 

Ответить

Time2burn

Дата: Пятница, 05.06.2015, 16:15 |
Сообщение № 9

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

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

Сообщений: 15


Репутация:

0

±

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


Excel 2003

Да, ок. Тем более все числа идут свыше 1.

 

Ответить

KSV

Дата: Пятница, 05.06.2015, 16:33 |
Сообщение № 10

Группа: Друзья

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

Сообщений: 770


Репутация:

255

±

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


Excel 2013

или можно так (одним разом, без циклов):
[vba]

Код

Sub AddRows()
     If Val(ActiveCell) > 1 Then ActiveCell.Offset(1).Resize(ActiveCell — 1).EntireRow.Insert
End Sub

[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333

 

Ответить

Roman777

Дата: Пятница, 05.06.2015, 16:35 |
Сообщение № 11

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

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

Сообщений: 980


Репутация:

127

±

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


Excel 2007, Excel 2013

KSV, О! прикольно, не знал как мон сразу «N» строк вставлять))).


Много чего не знаю!!!!

Сообщение отредактировал Roman777Пятница, 05.06.2015, 16:41

 

Ответить

Time2burn

Дата: Пятница, 05.06.2015, 16:36 |
Сообщение № 12

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

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

Сообщений: 15


Репутация:

0

±

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


Excel 2003

KSV, В вашем случае добавляет на 2 строки меньше чем значение в ячейке :)

Попробовал дальше — как-то на разные числа меньше строк добавляет ваш макрос… :С

P.S. Стояла фильтрация, теперь все нормально :)

Сообщение отредактировал Time2burnПятница, 05.06.2015, 16:43

 

Ответить

Roman777

Дата: Пятница, 05.06.2015, 16:42 |
Сообщение № 13

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

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

Сообщений: 980


Репутация:

127

±

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


Excel 2007, Excel 2013

KSV,
Не пойму, к чему тут Resize относится… если Ваш макрос написать так:
[vba]

Код

Sub AddRows()
     If Val(ActiveCell) > 1 Then ActiveCell.Offset(1).EntireRow.Resize(ActiveCell — 1).Insert
End Sub

[/vba]
тоже работает…XD


Много чего не знаю!!!!

 

Ответить

Roman777

Дата: Пятница, 05.06.2015, 16:43 |
Сообщение № 14

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

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

Сообщений: 980


Репутация:

127

±

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


Excel 2007, Excel 2013

Time2burn, У меня работает норм, да и не должен он на 2 строки меньше заданного числа вставлять…
А… всё выяснилось)


Много чего не знаю!!!!

Сообщение отредактировал Roman777Пятница, 05.06.2015, 16:44

 

Ответить

Time2burn

Дата: Пятница, 05.06.2015, 16:47 |
Сообщение № 15

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

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

Сообщений: 15


Репутация:

0

±

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


Excel 2003

Всем спасибо за помощь ) плюсанул Вам обоим!

 

Ответить

KSV

Дата: Пятница, 05.06.2015, 16:50 |
Сообщение № 16

Группа: Друзья

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

Сообщений: 770


Репутация:

255

±

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


Excel 2013

см. вложенный файл

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

618.xlsm
(14.2 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333

 

Ответить

Time2burn

Дата: Пятница, 05.06.2015, 17:18 |
Сообщение № 17

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

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

Сообщений: 15


Репутация:

0

±

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


Excel 2003

Спасибо, эт я умею) А с столбцом так можно сделать как в сообщении №4 (там на 1 меньше нужно добавлять ячейку от значения)? ) ^_^

 

Ответить

KSV

Дата: Пятница, 05.06.2015, 17:51 |
Сообщение № 18

Группа: Друзья

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

Сообщений: 770


Репутация:

255

±

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


Excel 2013

так?

(см. вложенный файл)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333

Сообщение отредактировал KSVПятница, 05.06.2015, 17:53

 

Ответить

Time2burn

Дата: Пятница, 05.06.2015, 18:05 |
Сообщение № 19

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

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

Сообщений: 15


Репутация:

0

±

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


Excel 2003

Да ! Вот это спасибище!

 

Ответить

Time2burn

Дата: Понедельник, 08.06.2015, 09:45 |
Сообщение № 20

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

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

Сообщений: 15


Репутация:

0

±

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


Excel 2003

хм, при выборе столбца — почему-то добавляет ячейки по значению с другого столбца))

 

Ответить

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


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

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

  • 991 просмотр

Содержание

  1. Размер ячейки
  2. Макрос для вставки строк с определенной высотой
  3. Высота строки
  4. Добавление нескольких пустых строк в таблицу Excel
  5. Описание работы
  6. Вставка произвольного количества строк
  7. Вставка строк при изменении значения в столбце
  8. Удаление пустых строк
  9. Надстройка позволяет:
  10. Как вставить/добавить заданное количество пустых/новых строк в определенные места?

Размер ячейки

Размер ячейки по высоте и ширине определяется высотой строки и шириной столбца, на пересечении которых она находится. Если, в вашем случае, нежелательно изменять размеры всей строки или всего столбца, используйте объединенные ячейки нужной величины.

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

 Высота строки и ширина столбца в 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»-«Выполнить». После запуска макроса таблица будет выглядеть как показано на рисунке:

Сначала в коде объявлены две переменные:

  1. i – переменная выполняет роль счетчика в цикле.
  2. pustroka – переменная будет хранить в себе очередной номер для каждой строки выделенного диапазона.

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

  1. В первой инструкции мы присваиваем для переменной pustroka номер строки которая находиться под текущей строкой.
  2. Следующая инструкция добавляет пустую строку с высотой в 7 пикселей.
  3. Удаляются в добавленной строке все вертикальные границы, а также заливка.
  4. Уменьшается значение переменной 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/

Добрый день!
Возник вопрос, связанный с темой

задача следующего плана, нужно вставить некоторое кол-во строк в зависимости от значения в ячейках колонки А

например
1 — вставить ниже 1 строку
4 — вставить ниже к строки
0 — ничего не менять

спасибо


Вот как пример в ячейку I3 надо писать кол-во строк.


ничего не понял из этого файла, нужно не из одной ячейки сделать вставку и перебрать диапазон


ну я и написал что вот как пример, а как сделать в VBA не знаю.


Цитата: iron priest от 30.05.2012, 11:52
задача следующего плана, нужно вставить некоторое кол-во строк в зависимости от значения в ячейках колонки А

Вот рецепт:

Sub SHD_AddRows()
  LR = Cells(Rows.Count, 1).End(xlUp).Row
  For i = LR To 1 Step -1
    If Val(Cells(i, 1)) > 0 Then
      Rows(i + 1 & ":" & i + Cells(i, 1)).Insert
    End If
  Next
End Sub

Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли


Цитата: Шпец Докапыч от 31.05.2012, 15:37

Цитата: iron priest от 30.05.2012, 11:52
задача следующего плана, нужно вставить некоторое кол-во строк в зависимости от значения в ячейках колонки А

Вот рецепт:
Sub SHD_AddRows()
  LR = Cells(Rows.Count, 1).End(xlUp).Row
  For i = LR To 1 Step -1
    If Val(Cells(i, 1)) > 0 Then
      Rows(i + 1 & ":" & i + Cells(i, 1)).Insert
    End If
  Next
End Sub

А как сделать что бы из другой колонки брал?


Может как то так

Option Explicit
Sub SHD_AddRows()
 Dim ColN As Integer, LR As Long, i As Long
 ColN = 3 'номер колонки для поиска количества строк
 LR = Cells(Rows.Count, ColN).End(xlUp).Row 'Определяем номер последней строки
 For i = LR To 1 Step -1 'Идем цыклом снизу вверх чтоб не вызвать зацыкливания
   If Val(Cells(i, ColN)) > 0 Then 'проверяем значение из ячейки на условие больше нуля
     Rows(i + 1 & ":" & i + Cells(i, ColN)).Insert 'вставляем строки
   End If
 Next
End Sub

Прошу прощения у Шпец Докапыч, а то влез тут со своими комментариями в его интеллектуальную собственность   ;)

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


Цитата: Poltava от 31.05.2012, 22:12
Может как то так
Option Explicit
Sub SHD_AddRows()
 Dim ColN As Integer, LR As Long, i As Long
 ColN = 3 'номер колонки для поиска количества строк
 LR = Cells(Rows.Count, ColN).End(xlUp).Row 'Определяем номер последней строки
 For i = LR To 1 Step -1 'Идем цыклом снизу вверх чтоб не вызвать зацыкливания
   If Val(Cells(i, ColN)) > 0 Then 'проверяем значение из ячейки на условие больше нуля
     Rows(i + 1 & ":" & i + Cells(i, ColN)).Insert 'вставляем строки
   End If
 Next
End Sub

Прошу прощения у Шпец Докапыч, а то влез тут со своими комментариями в его интеллектуальную собственность   ;)

Еще одна нескромная просьба, можно сделать так что бы он работал в двух режимах, удалял строки и добавлял строки согласно цифрам в столбце, то что делал целый день с помощью этого кода сделал за 40 минут :)


А как это должно быть ??? макрос проверяет и если числа отрицательные удаляет, либо два разных макроса один удаляет другой добавляет и тут уже без отрицательных чисел можно. либо макрос будет вызываться из другой процедуры и при вызове в качестве параметра будет идти добавлять или удалять строки ??? Да и вообще удаление строк это более ответственный процесс! тут нужно понимать что делать если в удаляемой строке есть информация либо если удалить нужно строки которые дальше могли использоваться в общем тут больше проверок нужно о которых только вы знаете.
Ну а в общем случае попробуйте заменить .Insert на .Delete

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


Цитата: Poltava от 01.06.2012, 11:17
А как это должно быть ??? макрос проверяет и если числа отрицательные удаляет, либо два разных макроса один удаляет другой добавляет и тут уже без отрицательных чисел можно. либо макрос будет вызываться из другой процедуры и при вызове в качестве параметра будет идти добавлять или удалять строки ??? Да и вообще удаление строк это более ответственный процесс! тут нужно понимать что делать если в удаляемой строке есть информация либо если удалить нужно строки которые дальше могли использоваться в общем тут больше проверок нужно о которых только вы знаете.
Ну а в общем случае попробуйте заменить .Insert на .Delete

Ну можно просто сделать два макроса один прибавляет другой удаляет, числа положительные.Нужно затем , что таблица сводная меняется постоянно и ,что бы не корячится с удалением и добавлением легче сделать через макрос. С .Delete, работает вроде в противоположную сторону как .Insert так что всё пучком! Всем спасибо кто откликнулся, сильно облегчили труд.


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



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

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

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

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

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