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

Вход

Регистрация

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

 

= Мир MS Excel/дробная нумерация - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » дробная нумерация (Макросы/Sub)
дробная нумерация
Головастик Дата: Среда, 31.10.2018, 11:34 | Сообщение № 1
Группа: Заблокированные
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
добрый день знатоки екселя
код проставляет страницы в ячейке А исходя наличия значений в ячейке B, нужна нумерация, если в ячейке B встречается объединенная ячейка, как 7.1, 7.2, 7.3 и далее по следующему номеру
как это можно сделать?
К сообщению приложен файл: _Microsoft_Exce.xlsm (18.2 Kb)
 
Ответить
Сообщениедобрый день знатоки екселя
код проставляет страницы в ячейке А исходя наличия значений в ячейке B, нужна нумерация, если в ячейке B встречается объединенная ячейка, как 7.1, 7.2, 7.3 и далее по следующему номеру
как это можно сделать?

Автор - Головастик
Дата добавления - 31.10.2018 в 11:34
_Boroda_ Дата: Среда, 31.10.2018, 12:08 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Sub Кнопка1_Щелчок()
    r1_ = Cells(Rows.Count, 2).End(xlUp).Row'№ последней заполненной строки в столбце 2
    ar = Cells(1).Resize(r1_, 2)'с ячейки А1 вниз на r1_ вправо на 2 - все это суем в массив
    For i = 1 To r1_'цикл по строкам
        If ar(i, 2) = "" Then'если в ячейке второго столбца пусто
            k_ = k_ + 1'счетчик k увеличиваем на 1
            If k_ = 1 Then'если это первая пусто для этого блока пустых
                ar(i - 1, 1) = n_ & "." & k_ & Chr(160)'в ячейку столбца 2 строки выше пишем порядковый номер n (см. ниже) с точкой, с k_ и с неразравным пробелом
' неразрывный пробел для того, чтобы при вставке на лист точки не преобразовывались в запятые или в даты
'на самом деле пишем не в ячейку столбца, а в то место массива ar, которое соответствует ячейке. Про ячейку написал просто для понятности
                k_ = k_ + 1'счетчик k увеличиваем на 1
            End If'
            ar(i, 1) = n_ & "." & k_ & Chr(160)'в ячейку столбца 2 строки выше пишем порядковый номер n (см. ниже) с точкой, с k_ и с неразравным пробелом
        Else'если в ячейке второго столбца не пусто
            k_ = 0'обнуляем счетчик пустых
            n_ = n_ + 1'счетчик n увеличиваем на 1
            ar(i, 1) = n_'в ячейку столбца 2 строки выше пишем порядковый номер n
        End If
    Next
    Cells(1).Resize(r1_, 2) = ar'загружаем массив на лист
End Sub
[/vba]

* Добавил комментарии
К сообщению приложен файл: 9906373.xlsm (19.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Среда, 31.10.2018, 12:27
 
Ответить
СообщениеТак нужно?
[vba]
Код
Sub Кнопка1_Щелчок()
    r1_ = Cells(Rows.Count, 2).End(xlUp).Row'№ последней заполненной строки в столбце 2
    ar = Cells(1).Resize(r1_, 2)'с ячейки А1 вниз на r1_ вправо на 2 - все это суем в массив
    For i = 1 To r1_'цикл по строкам
        If ar(i, 2) = "" Then'если в ячейке второго столбца пусто
            k_ = k_ + 1'счетчик k увеличиваем на 1
            If k_ = 1 Then'если это первая пусто для этого блока пустых
                ar(i - 1, 1) = n_ & "." & k_ & Chr(160)'в ячейку столбца 2 строки выше пишем порядковый номер n (см. ниже) с точкой, с k_ и с неразравным пробелом
' неразрывный пробел для того, чтобы при вставке на лист точки не преобразовывались в запятые или в даты
'на самом деле пишем не в ячейку столбца, а в то место массива ar, которое соответствует ячейке. Про ячейку написал просто для понятности
                k_ = k_ + 1'счетчик k увеличиваем на 1
            End If'
            ar(i, 1) = n_ & "." & k_ & Chr(160)'в ячейку столбца 2 строки выше пишем порядковый номер n (см. ниже) с точкой, с k_ и с неразравным пробелом
        Else'если в ячейке второго столбца не пусто
            k_ = 0'обнуляем счетчик пустых
            n_ = n_ + 1'счетчик n увеличиваем на 1
            ar(i, 1) = n_'в ячейку столбца 2 строки выше пишем порядковый номер n
        End If
    Next
    Cells(1).Resize(r1_, 2) = ar'загружаем массив на лист
End Sub
[/vba]

* Добавил комментарии

Автор - _Boroda_
Дата добавления - 31.10.2018 в 12:08
китин Дата: Среда, 31.10.2018, 12:11 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 7015
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Саша прокомменируй, ели не лень, плиз


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеСаша прокомменируй, ели не лень, плиз

Автор - китин
Дата добавления - 31.10.2018 в 12:11
Головастик Дата: Среда, 31.10.2018, 12:25 | Сообщение № 4
Группа: Заблокированные
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
спасибо вам большое, все работает
 
Ответить
Сообщениеспасибо вам большое, все работает

Автор - Головастик
Дата добавления - 31.10.2018 в 12:25
_Boroda_ Дата: Среда, 31.10.2018, 12:26 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Игорь, дописал комментарии в своем посте выше


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИгорь, дописал комментарии в своем посте выше

Автор - _Boroda_
Дата добавления - 31.10.2018 в 12:26
китин Дата: Среда, 31.10.2018, 12:44 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 7015
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
спасибо


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеспасибо

Автор - китин
Дата добавления - 31.10.2018 в 12:44
Мир MS Excel » Вопросы и решения » Вопросы по VBA » дробная нумерация (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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