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

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

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

Да предположим, че имам диапазон от клетки и сега искам да вмъкна прекъсвания на страници в работния лист, когато стойностите в колона A се променят, както е показано на лявата екранна снимка. Разбира се, можете да ги вмъкнете един по един, но има ли бързи начини да вмъкнете прекъсванията на страници наведнъж въз основа на променените стойности на една колона?

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

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


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

Следният VBA код може да ви помогне да вмъкнете прекъсвания на страници по-долу въз основа на промяна на данните в колоната, моля, направете следното:

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

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

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

Sub insertpagebreaks()
'updateby Extendoffice
    Dim I As Long, J As Long
    J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
    For I = J To 2 Step -1
        If Range("A" & I).Value <> Range("A" & I - 1).Value Then
            ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
        End If
    Next I
End Sub

3. След това натиснете F5 ключ за изпълнение на този код, всички прекъсвания на страници са били вмъкнати в листа, когато данните се променят в колона A. Вижте екранна снимка:

Забележка:В горния код, A е заглавката на колоната, въз основа на която искате да вмъкнете прекъсване на страница, можете да го промените според вашите нужди.

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

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

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

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

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

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

  • Изберете диапазона от данни и ключовата колона, която искате да използвате;
  • Изберете Page Break от Настроики кутия.

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

Изтеглете и безплатна пробна версия Kutools за Excel сега!


Още относителни статии:

  • Маркирайте редове, когато стойността на клетката се промени в Excel
  • Ако има списък с повтарящи се стойности във вашия работен лист и трябва да маркирате редовете въз основа на колона A, коя стойност на клетка се променя, както е показано на следната екранна снимка. Всъщност можете бързо и лесно да завършите тази работа, като използвате функцията за условно форматиране.
  • Увеличете числата, когато стойността се промени в друга колона
  • Да предположим, че имате списък със стойности в колона A и сега искате да увеличите числото с 1 в колона B, когато стойността в колона A се промени, което означава, че числата в колона B се увеличават, докато стойността в колона A се промени, след което увеличението на числото започва отново от 1, както е показано на лявата екранна снимка. В Excel можете да решите тази задача със следния метод.
  • Сумиране на клетки, когато стойността се промени в друга колона
  • Когато работите върху работен лист на Excel, понякога може да се наложи да сумирате клетки въз основа на група данни в друга колона. Например, тук искам да сумирам поръчките в колона B, когато данните се променят в колона A, за да получа следния резултат. Как можете да разрешите този проблем в Excel?
  • Вмъкване на празни редове, когато стойността се промени в 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 (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bonjour,

Merci pour le code qui fonctionne très bien, seulement je souhaite ajouter un saut de page après et non avant chaque changement de valeur... que faut-il changer dans le code ?

Merci beaucoup !
This comment was minimized by the moderator on the site
Tôi không muốn ngắt trang tại những hàng bị ẩn. Thì phải làm sao?
This comment was minimized by the moderator on the site
Hello, Lê Tuấn
To solve your problem, please apply the below VBA code:
Sub insertpagebreaks()
'updateby Extendoffice
Dim I As Long, J As Long
Dim xRg As Range
On Error Resume Next
J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
Set xRg = Range("A1:A" & J).SpecialCells(xlCellTypeVisible)

For I = J To 2 Step -1
If Range("A" & I).Value <> Range("A" & I - 1).Value Then
If Not Intersect(xRg, Range("A" & I)) Is Nothing Then
ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
End If
End If
Next I
End Sub


Please try, hope it can help you!
This comment was minimized by the moderator on the site
Is it possible to skip the first 20 rows of the sheet? If been trying all kinds of stuff but my knowledge of VBA is to limited to adjuist the code myself.
This comment was minimized by the moderator on the site
Hi, Wilco,
To insert the page break but skip the first 20 rows, you just need to change one parameter as below code:

Sub insertpagebreaks()

'updateby Extendoffice

Dim I As Long, J As Long

J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

For I = J To 21 Step -1

If Range("A" & I).Value <> Range("A" & I - 1).Value Then

ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)

End If

Next I

End Sub

Please try, thank you!
This comment was minimized by the moderator on the site
That is truly brilliant! I followed along on your VB example and it worked! I also am an owner of KUTools so I will play with that too.

Very impressed and thanks!

Mike
This comment was minimized by the moderator on the site
Sorry. EDIT: The first ROW is a column header.
This comment was minimized by the moderator on the site
Hello, Thank you! The thought of VBA makes me sweat. I do have one problem with the results of this code though. The first column is a column header. The code treats this as a change. My first page only shows the column header, but he following pages are fine. FYI: This is for a monthly report and the number of rows for each criteria change monthly. Any Ideas? Thank you in advance.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations