Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автоматическая нумерация строк - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическая нумерация строк (Формулы/Formulas)
Автоматическая нумерация строк
Gerkules Дата: Понедельник, 25.05.2020, 16:23 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2013
Всем добрый вечер! Появилась потребность постоянно нумеровать строки, при этом таблица динамичная, каждый день строки удаляются и добавляются. Протаскивать не получается, потому что встречаются строки которые нумеровать ненужно, так как они являются заголовками разделов. Нашёл макрос, но он нумерует все строки подряд. Есть идея сделать эти заголовки жёлтыми и прописать в макросе, чтобы нумеровались только белые строки. Подскажите как это сделать. Макрос прилагаю.
[vba]
Код
Sub RowsNum() 'нумерация ячеек в первом выделенном столбце Selection. Объединенные ячейки не мешают
If TypeName(Selection) <> "Range" Then Exit Sub
If Selection.Columns.Count <> 1 Then Intersect(Selection, Selection(1).EntireColumn).Select
On Error Resume Next
Application.ScreenUpdating = False
Dim iCell As Range, MrgCls As Boolean
Dim Nn: Nn = Selection(1)
If Not IsNumeric(Nn) Then
Nn = InputBox("Введите НОМЕР первого пункта", "В первой ячейке - текст!", 1)
If Not IsNumeric(Nn) Then Exit Sub
End If
Nn = Int(Nn)
If Nn = 0 Then Nn = 1
For Each iCell In Selection
With iCell
If (Not .MergeCells) Or (.MergeCells And .Address = .MergeArea.Cells(1).Address) Then
.Value = Nn: Nn = Nn + 1
.NumberFormat = Selection(1).NumberFormat
.HorizontalAlignment = Selection(1).HorizontalAlignment
.VerticalAlignment = Selection(1).VerticalAlignment
.Orientation = Selection(1).Orientation
.ShrinkToFit = Selection(1).ShrinkToFit
End If
If .MergeCells Then MrgCls = True
End With
Next
Application.ScreenUpdating = True
End Sub
[/vba]
 
Ответить
СообщениеВсем добрый вечер! Появилась потребность постоянно нумеровать строки, при этом таблица динамичная, каждый день строки удаляются и добавляются. Протаскивать не получается, потому что встречаются строки которые нумеровать ненужно, так как они являются заголовками разделов. Нашёл макрос, но он нумерует все строки подряд. Есть идея сделать эти заголовки жёлтыми и прописать в макросе, чтобы нумеровались только белые строки. Подскажите как это сделать. Макрос прилагаю.
[vba]
Код
Sub RowsNum() 'нумерация ячеек в первом выделенном столбце Selection. Объединенные ячейки не мешают
If TypeName(Selection) <> "Range" Then Exit Sub
If Selection.Columns.Count <> 1 Then Intersect(Selection, Selection(1).EntireColumn).Select
On Error Resume Next
Application.ScreenUpdating = False
Dim iCell As Range, MrgCls As Boolean
Dim Nn: Nn = Selection(1)
If Not IsNumeric(Nn) Then
Nn = InputBox("Введите НОМЕР первого пункта", "В первой ячейке - текст!", 1)
If Not IsNumeric(Nn) Then Exit Sub
End If
Nn = Int(Nn)
If Nn = 0 Then Nn = 1
For Each iCell In Selection
With iCell
If (Not .MergeCells) Or (.MergeCells And .Address = .MergeArea.Cells(1).Address) Then
.Value = Nn: Nn = Nn + 1
.NumberFormat = Selection(1).NumberFormat
.HorizontalAlignment = Selection(1).HorizontalAlignment
.VerticalAlignment = Selection(1).VerticalAlignment
.Orientation = Selection(1).Orientation
.ShrinkToFit = Selection(1).ShrinkToFit
End If
If .MergeCells Then MrgCls = True
End With
Next
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Gerkules
Дата добавления - 25.05.2020 в 16:23
Pelena Дата: Понедельник, 25.05.2020, 18:35 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 17442
Репутация: 3875 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Файл с примером помог бы в понимании проблемы


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеФайл с примером помог бы в понимании проблемы

Автор - Pelena
Дата добавления - 25.05.2020 в 18:35
Gerkules Дата: Вторник, 26.05.2020, 12:06 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2013
Pelena, прилагаю файл.
К сообщению приложен файл: 0428612.xlsm(18.7 Kb)
 
Ответить
СообщениеPelena, прилагаю файл.

Автор - Gerkules
Дата добавления - 26.05.2020 в 12:06
Nic70y Дата: Вторник, 26.05.2020, 12:30 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 6832
Репутация: 1567 ±
Замечаний: 0% ±

Excel 2010
Ну какой пример, такой и ответ
[vba]
Код
Sub u_629()
    u_1 = Selection.Column
    If u_1 = 1 Then
        For Each u In Selection
            u_2 = u.Interior.Color
            If u_2 <> 65535 Then
                u_3 = u.Row
                If u_3 = 1 Then
                    Range("a" & u_3) = 1
                Else
                    Range("a" & u_3) = Application.Max(Range("a1:a" & u_3 - 1)) + 1
                End If
            End If
        Next
    Else
        MsgBox "Выделен не 1-й столбец"
    End If
End Sub
[/vba]
К сообщению приложен файл: 4951363.xlsm(17.3 Kb)


ЮMoney(Яндекс Деньги) 41001841029809
 
Ответить
СообщениеНу какой пример, такой и ответ
[vba]
Код
Sub u_629()
    u_1 = Selection.Column
    If u_1 = 1 Then
        For Each u In Selection
            u_2 = u.Interior.Color
            If u_2 <> 65535 Then
                u_3 = u.Row
                If u_3 = 1 Then
                    Range("a" & u_3) = 1
                Else
                    Range("a" & u_3) = Application.Max(Range("a1:a" & u_3 - 1)) + 1
                End If
            End If
        Next
    Else
        MsgBox "Выделен не 1-й столбец"
    End If
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 26.05.2020 в 12:30
alexa1965 Дата: Вторник, 26.05.2020, 12:40 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 16 ±
Замечаний: 0% ±

2003> 2010> 2016
Код
=ЕСЛИ(ЕПУСТО(B1);"";СЧЁТЗ(B$1:$B1))

А если просто формулой?
К сообщению приложен файл: 3063988.xlsm(19.1 Kb)


Главное не быть балабастиком

Сообщение отредактировал alexa1965 - Вторник, 26.05.2020, 12:45
 
Ответить
Сообщение
Код
=ЕСЛИ(ЕПУСТО(B1);"";СЧЁТЗ(B$1:$B1))

А если просто формулой?

Автор - alexa1965
Дата добавления - 26.05.2020 в 12:40
Gerkules Дата: Вторник, 26.05.2020, 13:59 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2013
Nic70y, огромное Вам человеческое спасибо. Вы сделали то что нужно!
 
Ответить
СообщениеNic70y, огромное Вам человеческое спасибо. Вы сделали то что нужно!

Автор - Gerkules
Дата добавления - 26.05.2020 в 13:59
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическая нумерация строк (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования Jobsora jooble
© 2010-2021 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!