Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2020, 15:00   #1
Fariton
Пользователь
 
Регистрация: 23.03.2020
Сообщений: 18
По умолчанию Устойчивая нумерация страниц с различными размерами ячеек

Есть макрос с возможностью редактирования номера страницы. В строке, где номер не нужен, можно просто удалить его или всю строку. При этом сохраняется нумерация. Проблема заключается в том, что макрос неправильно нумерует следующую строку после объедененной ячейки (в примере это видно). Прошу помочь усовершенствовать макрос чтобы он воспринимал объедененные ячеки как одну и соответственно нумеровал следующую по порядку строку.

Очень важно сохранить функцию непрерывной нумерации и при удалении ненужных строк!!!
Пример прилагается.
Вложил образец целиком страницы, возможно изначально можно поправить процедуру нумерации для возможности удаления строк и соответственно изменять порядковый номер строк. Спасибо
Вложения
Тип файла: xls Книга1.xls (180.5 Кб, 3 просмотров)
Fariton вне форума Ответить с цитированием
Старый 23.03.2020, 22:07   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Макрос не к етому листу. Не нашел где же редактируется номер страницы. В которой строке коде?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 23.03.2020, 22:58   #3
Fariton
Пользователь
 
Регистрация: 23.03.2020
Сообщений: 18
По умолчанию

нижний макрос, удивительно, но какое-то время работал, нумеровал как надо, а сейчас походу тоже короновирус схватил и ушел на больничный. Вообще возможно создать такой макрос удовлетворяющий условиям
Fariton вне форума Ответить с цитированием
Старый 24.03.2020, 10:15   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Fariton Посмотреть сообщение
Вообще возможно создать такой макрос удовлетворяющий условиям
Ну раз Вы утверждаете, значит возможно.

Вы с условием не запутались, именно "нумерация страниц" интересует, а не "непрерывная нумерация строк"?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 24.03.2020, 13:47   #5
Fariton
Пользователь
 
Регистрация: 23.03.2020
Сообщений: 18
По умолчанию

Нужно нумеровать строки. В дальнейшем это протокол к техническому отчёту. В данном протоколе часто надо редактировать строки. Некоторые нужно удалять, а нумерация должна изменяться, т.е номер удалённой строки переходит на другую, строкой ниже
1-а
2-б
3-в
Удаляем 2 строку, получаем
1-а
2-в
Теперь думаю все понятно
Fariton вне форума Ответить с цитированием
Старый 24.03.2020, 19:33   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Макрос в общих чертах
Код:
Private Sub NumerateLines()
    Dim i As Integer
    Dim iLastRow As Integer
    Dim counter As Integer
    i = 30 ' нумерация начинается со строки
    iLastRow = 70 ' к этой строке нумеровать
    counter = 1
    Do While i <= iLastRow
        Cells(i, "B") = counter ' "нумерация"
        If Cells(i, "B").MergeCells Then
            i = i + Cells(i, "B").MergeArea.Rows.Count
        Else
            i = i + 1
        End If
        counter = counter + 1
    Loop
End Sub
Вложения
Тип файла: xls Копия Книга1-1.xls (187.0 Кб, 3 просмотров)
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 24.03.2020 в 20:03. Причина: Добавил файл
Aleksandr H. вне форума Ответить с цитированием
Старый 24.03.2020, 19:54   #7
Fariton
Пользователь
 
Регистрация: 23.03.2020
Сообщений: 18
По умолчанию

Вставляю вместо своего что-то ничего не происходит (((Я Ваш макрос вставил вместо своего. Я правильно сделал?
Fariton вне форума Ответить с цитированием
Старый 24.03.2020, 20:14   #8
Fariton
Пользователь
 
Регистрация: 23.03.2020
Сообщений: 18
По умолчанию

работает но не совсем так как хочется, если я убираю строку, он не пересчитывает ((( это чуть не самое главное
Fariton вне форума Ответить с цитированием
Старый 24.03.2020, 20:19   #9
Fariton
Пользователь
 
Регистрация: 23.03.2020
Сообщений: 18
По умолчанию

А кнопку для нумерации обязательно делать? Можно ее совместить с имеющейся? Этот протокол бывает очень большой, а их семь штук, с другими проще, там все одинаковые ячейки. Спасибо все равно Вам огромное!
Fariton вне форума Ответить с цитированием
Старый 24.03.2020, 20:27   #10
Fariton
Пользователь
 
Регистрация: 23.03.2020
Сообщений: 18
По умолчанию

Именно необходима возможность из ячейки В увдалять номер, т.к в ячейку С идет название следюющего электрического щита. И ли поставить условия не нумеровать строку где название (как вариант)
Fariton вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нумерация страниц ask40 Microsoft Office Access 1 26.11.2015 10:39
Нумерация страниц nikcpp Общие вопросы Delphi 1 06.04.2011 00:16
Нумерация страниц Golovastik Microsoft Office Word 9 05.06.2010 20:09
Нумерация страниц Александр Microsoft Office Word 3 09.01.2009 14:22
нумерация страниц chern Microsoft Office Word 3 10.05.2008 14:06