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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос "RowsNum" - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Макрос "RowsNum"
Alex_ST Дата: Вторник, 31.08.2010, 13:21 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Данный макрос автоматически проставляет номера пунктов в выделенном диапазоне - столбце таблицы.
Отличие данного макроса от обычного "протягивания номера" мышкой в том, что можно пронумеровать пункты таблицы даже при наличии среди нумеруемых ячеек объединённых и форматы нумеруемых ячеек не изменяются.
Нумерация ведётся с шагом +1 начиная от числа, записанного в первой выделенной ячейке - Selection(1)
[vba]
Код
Sub RowsNum()   'нумерация ячеек в выделенном столбце Selection
     If TypeName(Selection) <> "Range" Then Exit Sub
     On Error Resume Next
     If Selection.Columns.Count <> 1 Then MsgBox "Выбрано более одного столбца": Exit Sub
     Dim iCell As Range
     Dim Nn: Nn = Selection.Cells(1)
     Application.ScreenUpdating = False
     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.Cells(1).NumberFormat
'            .HorizontalAlignment = Selection.Cells(1).HorizontalAlignment
'            .VerticalAlignment = Selection.Cells(1).VerticalAlignment
'            .Orientation = Selection.Cells(1).Orientation
'            .ShrinkToFit = Selection.Cells(1).ShrinkToFit
           End If
        End With
     Next
     Application.ScreenUpdating = True
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеДанный макрос автоматически проставляет номера пунктов в выделенном диапазоне - столбце таблицы.
Отличие данного макроса от обычного "протягивания номера" мышкой в том, что можно пронумеровать пункты таблицы даже при наличии среди нумеруемых ячеек объединённых и форматы нумеруемых ячеек не изменяются.
Нумерация ведётся с шагом +1 начиная от числа, записанного в первой выделенной ячейке - Selection(1)
[vba]
Код
Sub RowsNum()   'нумерация ячеек в выделенном столбце Selection
     If TypeName(Selection) <> "Range" Then Exit Sub
     On Error Resume Next
     If Selection.Columns.Count <> 1 Then MsgBox "Выбрано более одного столбца": Exit Sub
     Dim iCell As Range
     Dim Nn: Nn = Selection.Cells(1)
     Application.ScreenUpdating = False
     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.Cells(1).NumberFormat
'            .HorizontalAlignment = Selection.Cells(1).HorizontalAlignment
'            .VerticalAlignment = Selection.Cells(1).VerticalAlignment
'            .Orientation = Selection.Cells(1).Orientation
'            .ShrinkToFit = Selection.Cells(1).ShrinkToFit
           End If
        End With
     Next
     Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 31.08.2010 в 13:21
Гость Дата: Понедельник, 09.04.2012, 21:24 | Сообщение № 2
Группа: Гости
Спасибо! То, что надо!
 
Ответить
СообщениеСпасибо! То, что надо!

Автор - Гость
Дата добавления - 09.04.2012 в 21:24
  • Страница 1 из 1
  • 1
Поиск:

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