Прескочи на основното съдържание

Как да вмъкнете празни редове, когато стойността се промени в Excel?

Автор: Xiaoyang Последна промяна: 2020-04-23

Да предположим, че имате диапазон от данни и сега искате да вмъкнете празни редове между данните, когато стойността се промени, така че да можете да разделите последователните същите стойности в една колона, както са показани следните екранни снимки. В тази статия ще говоря за някои трикове за решаване на този проблем.

Вмъкнете празни редове, когато стойността се промени с функцията Междинна сума

Вмъкнете празни редове, когато стойността се промени с помощни колони

Вмъкване на празни редове, когато стойността се промени с VBA код

Вмъкнете определен брой празни редове, когато стойността се промени с мощна функция


Вмъкнете празни редове, когато стойността се промени с функцията Междинна сума

С Общо можете да вмъкнете празни редове между данните, когато стойността се промени, както следва:

1. Изберете диапазона от данни, който искате да използвате.

2. Щракнете Дата > Общо за да отворите Общо диалоговия прозорец и в Общо диалогов прозорец, моля, направете следните опции:

1: Изберете името на колоната, в която искате да вмъкнете празни редове въз основа на промяна на стойността При всяка смяна в раздел;
2: Избирам Броя от Използвайте функцията падащ списък;
3: Проверете името на колоната, в която искате да вмъкнете междинната сума Добавете междинна сума към списъчно поле

3, След това кликнете OK, редовете за междинна сума са вмъкнати между различните продукти и контурните символи се показват вляво на таблицата, вижте екранната снимка:

4. И след това щракнете върху числото 2 в горната част на символа на контура, за да покажете само редовете за междинна сума.

5. След това изберете данните за обхвата на междинната сума и натиснете Alt+; клавишни комбинации за избор само на видимите редове, вижте екранната снимка:

6. Само след като изберете видимите редове, натиснете Изтрий на клавиатурата и всички редове с междинни суми са премахнати.

7. След това щракнете върху която и да е друга клетка и се върнете назад Дата > Ungroup > Ясен контур за да премахнете очертанията, вижте екранната снимка:

8. Контурните символи бяха изчистени веднага и можете да видите, че между данните са вмъкнати празни редове, когато стойността се промени, вижте екранната снимка:

9. Най-накрая можете да изтриете колона A, както ви е необходимо.


Вмъкване на прекъсване на страница, празни редове, долна граница или цвят на запълване, когато стойността се променя бързо

Ако имате Kutools за Excel's Различавайте разликите функция, можете бързо да вмъкнете прекъсване на страница, празни редове, долна граница или цвят на запълване, когато стойността се промени според нуждите ви. Вижте демонстрацията по-долу.         Щракнете, за да изтеглите Kutools за Excel!


Вмъкнете празни редове, когато стойността се промени с помощни колони

С помощните колони можете първо да вмъкнете формула и след това да приложите Търсене и заместване най-накрая вмъкнете празните редове между променящите се стойности. Моля, направете следното:

1. В празна клетка C3, моля, въведете тази формула =A3=A2, а в клетка D4 въведете тази формула =A4=A3, вижте екранна снимка:

2. След това изберете C3:D4 и плъзнете манипулатора за запълване до диапазона, към който искате да приложите тези формули, и ще получите Вярно or Фалшив в клетките вижте екранната снимка:

3. И след това натиснете Ctrl + F за да отворите Търсене и заместване диалогов прозорец, в изскачащия диалогов прозорец въведете FALSE в Намерете това, текстово поле под Какво и щракнете върху Настроики бутон, за да разгънете този диалогов прозорец, и изберете Ценности от Погледни вътре падащ списък, вижте екранната снимка:

4. Кликнете Намери всички бутон и след това натиснете Ctrl + A за да изберете всички резултати от намирането, всички FALSE клетки са избрани наведнъж, вижте екранната снимка:

6. Затвори Търсене и заместване диалогов прозорец, следващата стъпка можете да вмъкнете празни редове, като щракнете Начало > Поставете > Вмъкване на редове на листи празни редове са вмъкнати в данните, когато стойността се промени въз основа на колона A, вижте екранните снимки:

7. И накрая, можете да изтриете помощната колона C и D, както ви е необходимо.


Вмъкване на празни редове, когато стойността се промени с VBA код

Ако сте уморени да използвате горните методи, ето код, който също може да ви помогне да вмъкнете празни редове между променените стойности наведнъж.

1. Задръжте натиснат ALT + F11 за да отворите Прозорец на Microsoft Visual Basic за приложения.

2. Щракнете Поставете > Модулии поставете следния код в Прозорец на модула.

VBA код: Вмъкване на празни редове при промяна на стойността

Sub InsertRowsAtValueChange()
'Update by Extendoffice
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)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 2 Step -1
    If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
        WorkRng.Cells(i, 1).EntireRow.Insert
    End If
Next
Application.ScreenUpdating = True
End Sub

3. След това натиснете F5 за да изпълните този код и ще се появи поле за подкана, което ви позволява да изберете една колона с данни, които искате да вмъкнете празни редове, когато стойността се промени, въз основа на която вие, вижте екранна снимка:

4, И после щракнете върху OK, празните редове са вмъкнати между данните, когато стойността се промени въз основа на колона A.


Вмъкнете определен брой празни редове, когато стойността се промени с мощна функция

Ако сте изпробвани с горните неприятни методи, тук ще ви представя един полезен инструмент, Kutools за Excel's Различавайте разликите може да ви помогне да вмъкнете прекъсване на страница, празни редове, долна граница или цвят на запълване, когато стойността на клетката се промени бързо и лесно.

Съвет:За да приложите това Различавайте разликите функция, първо трябва да изтеглите Kutools за Excelи след това приложете функцията бързо и лесно.

След инсталиране Kutools за Excel, моля, направете следното:

1. Щракнете Kutools > формат > Различавайте разликите, вижте екранна снимка:

2. В Разграничете разликите по ключова колона диалогов прозорец, моля, извършете следните операции:

  • Изберете диапазона от данни, който искате да използвате, и след това изберете ключовата колона, въз основа на която искате да вмъкнете празни редове;
  • След това проверете Празен ред опция от Настроики раздел и въведете броя на празните редове, които искате да вмъкнете.

3, След това кликнете Ok и конкретният брой празни редове са били вмъкнати в данните, ако стойността на клетката се промени, вижте екранните снимки:

Щракнете, за да изтеглите Kutools за Excel и безплатна пробна версия сега!

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (16)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, Hassan,

This vba is amazing, whereas I need one more alternate code for insert single blank row after changes in sequencing numbers. Example:- In column having number series like 1, 2, 3, 5, 6, 9 & etc...
Need to add single blank row between 3 & 5 as well as 6 & 9.
Please can you with this.
This comment was minimized by the moderator on the site
Can the VBA method be adapted to ignore blank cells? I have a file which I need to insert rows in based on two different columns but when I run the macro on the second column I end up with three blank lines where the first macro run inserted rows.
Or can it run on two columns at the same time?
This comment was minimized by the moderator on the site
Hello,
Is very usefull in case i need to insert 1 row, but if i need to insert 145 rows in every time the data change in spwcific column, how can i do it??
This comment was minimized by the moderator on the site
Hi, Hassan,
To insert multiple blank rows when value changes in a specific column, you should apply the following VBA code:

Note: In the below code, you should change the number 99 to your need, for example, when you insert 145 blank rows, you should change the number 99 to 144. Please try it, hope it can help you!

Sub InsertRowsAtValueChange()
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)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 2 Step -1
If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
Range(WorkRng.Cells(i, 1).EntireRow, WorkRng.Cells(i + 99, 1).EntireRow).Insert
End If
Next
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Very helpful. The code that skyyang shows above worked perfectly. Just make sure that the data doesn't already have spaces in it.

I don't understand VBA, but I believe if you wanted to add more rows underneath data that already had the spacing, there should be a way to ignore spaces.

Could a line be added to ignore or skip over blank lines? That might make this code more universal and repeatable if needed. Also a delete function that is similar to this may be useful so undo isn't necessary.
This comment was minimized by the moderator on the site
RE: insert blank rows when value changes with vba code
Is there a way that I can save the Range & not have to pick it every time I run it?
This comment was minimized by the moderator on the site
The VBA code worked 1st time and did exactly what I was trying to do. Thank you so much!
This comment was minimized by the moderator on the site
I've been using my own solution for some time.
1. Insert a helper column into Column A
2. In A2, type "if(B2=B1,A1,A1+1)"
3. Copy that formula down to the last row
4. Copy all the populated cells in column A and Paste Special (Values) over them
5. Copy all the cells again and paste them into column A in the first unpopulated cell (e.g. if you have 104 rows of data plus a header row you would paste into cell A106)
6. Click on Data and Remove Duplicates (only on the cells you just pasted in Step 5; not on all rows)
7. Sort all of Column A
8. Delete Column A

Seems like a lot of steps but only takes a few seconds.
This comment was minimized by the moderator on the site
[quote]Hi all thank you!! its awesome , can you guys also let me how to insert 2 rows when the value changes in VBA or through excel.By Hudson[/quote] Please let me know how to insert more than 1 row.
This comment was minimized by the moderator on the site
Hi there, These are almost useful! The first method doesn't work for me because when I follow the steps explicitly, the the data that I delete in the subtotal panes deletes the entire columns that I've sorted. In the second method when I get to the step where I insert sheet rows, the rows are inserted ABOVE the FALSE cells which breaks up the data, but the last selection of every group is then added to the group below. Any advice???
This comment was minimized by the moderator on the site
Hi all thank you!! its awesome , can you guys also let me how to insert 2 rows when the value changes in VBA or through excel.
This comment was minimized by the moderator on the site
Where in the code would I need to modify to include more than one row, I need to add 10 after each break... Thanks
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations