Przejdź do głównej zawartości

Jak wstawiać puste wiersze, gdy zmienia się wartość w programie Excel?

Przypuśćmy, że masz zakres danych, a teraz chcesz wstawić puste wiersze między danymi po zmianie wartości, abyś mógł oddzielić sekwencyjne te same wartości w jednej kolumnie, jak pokazano na poniższych zrzutach ekranu. W tym artykule omówię kilka sztuczek, które pomogą Ci rozwiązać ten problem.

Wstaw puste wiersze, gdy wartość zmienia się za pomocą funkcji Suma częściowa

Wstaw puste wiersze, gdy wartość zmienia się za pomocą kolumn pomocniczych

Wstaw puste wiersze, gdy wartość zmienia się wraz z kodem VBA

Wstaw określoną liczbę pustych wierszy, gdy wartość zmienia się dzięki zaawansowanej funkcji


Wstaw puste wiersze, gdy wartość zmienia się za pomocą funkcji Suma częściowa

Z Razem funkcję, możesz wstawić puste wiersze między danymi, gdy wartość zmieni się w następujący sposób:

1. Wybierz zakres danych, którego chcesz użyć.

2. Kliknij Dane > Razem otworzyć Razem okno dialogowe iw programie Razem w oknie dialogowym, wykonaj następujące czynności:

1: Wybierz nazwę kolumny, w której chcesz wstawić puste wiersze na podstawie zmiany wartości poniżej Przy każdej zmianie w sekcji;
2: Wybierz Liczyć z Zastosowanie funkcji Lista rozwijana;
3: Sprawdź nazwę kolumny, do której chcesz wstawić sumę częściową w pliku Dodaj sumę częściową do skrzynka na listy

3. Następnie kliknij OK, sumy częściowe zostały wstawione między różne produkty, a symbole konspektu są wyświetlane po lewej stronie tabeli, patrz zrzut ekranu:

4. Następnie kliknij cyfrę 2 u góry symbolu konspektu, aby wyświetlić tylko sumy częściowe.

5. Następnie wybierz dane zakresu sumy częściowej i naciśnij Alt +; klawisze skrótów, aby wybrać tylko widoczne wiersze, zobacz zrzut ekranu:

6. Po wybraniu widocznych rzędów dopiero potem naciśnij Usuń na klawiaturze, a wszystkie wiersze sum pośrednich zostały usunięte.

7. Następnie kliknij dowolną inną komórkę i wróć Dane > Rozgrupuj > Wyczyść zarys aby usunąć Kontury, zobacz zrzut ekranu:

8. Symbole konspektu zostały wyczyszczone od razu i widać, że puste wiersze zostały wstawione między danymi po zmianie wartości, patrz zrzut ekranu:

9. W końcu możesz usunąć kolumnę A według potrzeb.


Wstaw podział strony, puste wiersze, dolną krawędź lub kolor wypełnienia, gdy wartość szybko się zmienia

Jeśli Kutools dla programu Excel's Rozróżnij różnice funkcję, możesz szybko wstawić podział strony, puste wiersze, dolną ramkę lub kolor wypełnienia, gdy wartość zmieni się zgodnie z potrzebami. Zobacz poniższe demo.         Kliknij, aby pobrać Kutools dla programu Excel!


Wstaw puste wiersze, gdy wartość zmienia się za pomocą kolumn pomocniczych

W kolumnach pomocniczych możesz najpierw wstawić formułę, a następnie zastosować Znajdowanie i zamienianie funkcja, w końcu wstaw puste wiersze między zmieniającymi się wartościami. Wykonaj następujące czynności:

1. W pustej komórce C3 wprowadź tę formułę = A3 = A2, aw komórce D4 wprowadź tę formułę = A4 = A3zobacz zrzut ekranu:

2. Następnie wybierz C3: D4 i przeciągnij uchwyt wypełniania do zakresu, w którym chcesz zastosować te formuły, a otrzymasz Prawdziwy or Fałszywy w komórkach, patrz zrzut ekranu:

3. A następnie naciśnij Ctrl + F klawisze, aby otworzyć Znajdowanie i zamienianie w wyskakującym oknie dialogowym wprowadź FAŁSZYWY do Znajdź co pole tekstowe pod Znajdź kartę i kliknij Opcje , aby rozwinąć to okno dialogowe, i wybierz Wartości z Zaglądać rozwijana lista, zobacz zrzut ekranu:

4. Kliknij Znajdź wszystko , a następnie naciśnij Ctrl + aby zaznaczyć wszystkie wyniki wyszukiwania, wszystkie komórki FALSE zostały zaznaczone jednocześnie, zobacz zrzut ekranu:

6. Zamknij Znajdowanie i zamienianie W następnym kroku możesz wstawić puste wiersze, klikając Strona główna > wstawka > Wstaw rzędy arkuszy, a puste wiersze zostały wstawione do danych, gdy wartość zmienia się na podstawie kolumny A, patrz zrzuty ekranu:

7. Na koniec możesz usunąć kolumny pomocnika C i D według potrzeb.


Wstaw puste wiersze, gdy wartość zmienia się wraz z kodem VBA

Jeśli masz dość korzystania z powyższych metod, oto kod, który może również pomóc w wstawianiu pustych wierszy między zmienionymi wartościami naraz.

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.

2. Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: wstaw puste wiersze, gdy zmienia się wartość

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. Następnie naciśnij F5 klucz do uruchomienia tego kodu, a pojawi się okno zachęty umożliwiające wybranie jednej kolumny danych, do której chcesz wstawić puste wiersze, gdy zmieni się wartość, na której się opiera, zobacz zrzut ekranu:

4. A następnie kliknij OK, puste wiersze zostały wstawione między danymi, gdy wartość zmienia się na podstawie kolumny A.


Wstaw określoną liczbę pustych wierszy, gdy wartość zmienia się dzięki zaawansowanej funkcji

Jeśli spróbujesz powyższych kłopotliwych metod, tutaj przedstawię przydatne narzędzie, Kutools dla programu Excel's Rozróżnij różnice może pomóc we wstawieniu podziału strony, pustych wierszy, dolnej krawędzi lub koloru wypełnienia, gdy wartość komórki zmienia się szybko i łatwo.

Porady:Aby to zastosować Rozróżnij różnice Po pierwsze, należy pobrać plik Kutools dla programu Excel, a następnie szybko i łatwo zastosuj tę funkcję.

Po zainstalowaniu Kutools dla programu Excel, zrób tak:

1. Kliknij Kutools > utworzony > Rozróżnij różnicezobacz zrzut ekranu:

2, w Rozróżnij różnice według kluczowych kolumn w oknie dialogowym, wykonaj następujące operacje:

  • Wybierz zakres danych, którego chcesz użyć, a następnie wybierz kolumnę kluczową, na podstawie której chcesz wstawić puste wiersze;
  • Następnie sprawdź Pusty wiersz opcja z Opcje i wprowadź liczbę pustych wierszy, które chcesz wstawić.

3. Następnie kliknij Ok przycisk, a określona liczba pustych wierszy została wstawiona do danych, jeśli wartość komórki ulegnie zmianie, zobacz zrzuty ekranu:

Kliknij, aby pobrać Kutools dla programu Excel i bezpłatną wersję próbną teraz!

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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