Уважаемые форумчане, подскажите как решить задачу с сохранением нумерации строк в столбце таблицы Ексель при добавлении новой строки в произвольное место. При этом нумерация в столбце идет не по порядку сверху вниз, а в произвольном порядке в соответствии с правилом сортировки. Подробнее указал в примере. Спасибо.
Уважаемые форумчане, подскажите как решить задачу с сохранением нумерации строк в столбце таблицы Ексель при добавлении новой строки в произвольное место. При этом нумерация в столбце идет не по порядку сверху вниз, а в произвольном порядке в соответствии с правилом сортировки. Подробнее указал в примере. Спасибо.Egider
Добрый вечер. Это можно сделать макросом. Вставьте в модуль листа этот макрос. Будет работать в столбце B. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim i% Application.EnableEvents = False If Target.Row > 2 And Target.Count = 1 And Target.Column = 2 Then For i = 3 To Cells(Rows.Count, "B").End(xlUp).Row If i <> Target.Row And Cells(i, "B") >= Target Then Cells(i, "B") = Cells(i, "B") + 1 End If Next End If Application.EnableEvents = True End Sub
[/vba]
Добрый вечер. Это можно сделать макросом. Вставьте в модуль листа этот макрос. Будет работать в столбце B. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim i% Application.EnableEvents = False If Target.Row > 2 And Target.Count = 1 And Target.Column = 2 Then For i = 3 To Cells(Rows.Count, "B").End(xlUp).Row If i <> Target.Row And Cells(i, "B") >= Target Then Cells(i, "B") = Cells(i, "B") + 1 End If Next End If Application.EnableEvents = True End Sub
Спасибо Вам, но после вставки макроса в модуль листа и добавления одной строки с номером, ничего не происходит. Подскажите как это работает. А нельзя ли просто кнопке назначить макрос, который вставить в модуль (т.е "Sub Изменить_нумерацию"), чтоб при ее нажатии проводилось изменение нумерации в колонке. И как тогда будет выглядеть макрос? Спасибо. И еще - не обязательно то, что я в примере добавил цифру 3. Нужно чтоб нумерация менялась при добавлении любой цифры в пределах диапазона номеров в таблице.
Спасибо Вам, но после вставки макроса в модуль листа и добавления одной строки с номером, ничего не происходит. Подскажите как это работает. А нельзя ли просто кнопке назначить макрос, который вставить в модуль (т.е "Sub Изменить_нумерацию"), чтоб при ее нажатии проводилось изменение нумерации в колонке. И как тогда будет выглядеть макрос? Спасибо. И еще - не обязательно то, что я в примере добавил цифру 3. Нужно чтоб нумерация менялась при добавлении любой цифры в пределах диапазона номеров в таблице.Egider
Пенсионер
Сообщение отредактировал Egider - Пятница, 19.09.2025, 13:55
Добрый вечер. Посмотрите в файле два варианта. На листе 2 предыдущий вариант макроса по событию. На листе 3 макрос с кнопкой, после каждого изменения или добавления номера нужно запускать макрос.
Добрый вечер. Посмотрите в файле два варианта. На листе 2 предыдущий вариант макроса по событию. На листе 3 макрос с кнопкой, после каждого изменения или добавления номера нужно запускать макрос.i691198