Страницы: 1
RSS
Автоматическая нумерация разноформатных строк
 
Здравствуйте, уважаемые форумчане!
Возникла задача. Есть некоторая таблица (прилагаю файл). В таблице надо автоматически проставить номер по порядку (колонка "А"). Загвоздка в том, что ячейки в этих колонках объеденены. Причём разнокалиберно. Т.е. строка состоит из объединённых строк. И таких строк предполагается очень много.
Есть какие-либо идеи?
Спасибо.
 
если в столбце "Поставщики" всегда такие данные то:
1. Выделяете диапазон А4:А15
2.  В окно редактора формул вставляете формулу
Код
=ЕСЛИ(J4=1;МАКС($A$3:A3)+1;"")

и жмете ctrl+enter
Изменено: V - 14.05.2015 16:39:44
 
Код
Option Explicit
Sub qqq()
Dim i%, lstr%
lstr = Cells(Rows.Count, 10).End(xlUp).Row - 3
Columns(1).UnMerge
For i = 1 To lstr
    Cells(i + 3, 1) = i
Next
End Sub
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
V, а почему не просто =МАКС($A$3:A3)+1  ?
 
Количество поставщиков всегда будет меняться, диапазон А1:А15 не фиксированный т.к. строки всегда будут добавляться
 
Владимир, разобрался, но макрос банально нумерует все строки, а надо, чтобы нумеровал одну объединённую строку.
 
Код
Sub vvv()
Dim s As Range, n%
n = 1
For Each s In Range("A4:A" & Cells(Rows.Count, 6).End(xlUp).Row)
If s.MergeCells Then
    If s.Address = Split(s.MergeArea.Address, ":")(0) Then s.Value = n: n = n + 1
Else
s.Value = n: n = n + 1
End If
Next
End Sub
 
V, Вы волшебник! Это то, что надо! Спасибо огромное! Как я понимаю, в теле кода можно прописывать адрес ячейки начала счета - вместо А4 например А34, в зависимости от нахождения начальной строки.
Вот если бы этот код можно было бы оформить в качестве надстройки для Library, чтобы при необходимости использовать в любой книге Excel, с любой ячейки, ему бы просто не было цены!
Но всё равно, Спасибо Вам большое!!!
Изменено: Flurry - 14.05.2015 20:08:40
 
 V, я попробовал вставить Ваш макрос в другую книгу и таблицу, но он почему-то стал нумеровать строки снизу-вверх, начиная с адресной ячейки объекта Range("A4...
Попробовал изменить команду End(xlUp).Row на End(xlDown).Row, но он предсказуемо пронумеровал всю колонку начиная с ячейки A4. Может поможете сделать этот макрос универсальным?
Спасибо!
 
Cells(Rows.Count, 2).End(xlUp).Row)
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Владимир, Спасибо большое! Всё работает "на ура"!
Страницы: 1
Наверх