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

Вход

Регистрация

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

 

= Мир MS Excel/Подправить макрос нумерованного списка - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Подправить макрос нумерованного списка
Otter Дата: Вторник, 14.11.2017, 09:23 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 174
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019, Word 2019
Подскажите как подправить макрос (смотрите ниже следующий мой пост)
автоматической нумерации списка.

Допустим отметим ячейку D3 и запустим макрос :
Код
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(RC[1]:RC[1]))"

Получаем:
Код
=ЕСЛИ(ЕПУСТО(E3);"";СЧЁТЗ(E3:E3))

Надо изменить код макроса, чтобы получалось:
Код
=ЕСЛИ(ЕПУСТО(E3);"";СЧЁТЗ($E$3:E3))


Сообщение отредактировал Otter - Вторник, 14.11.2017, 13:20
 
Ответить
СообщениеПодскажите как подправить макрос (смотрите ниже следующий мой пост)
автоматической нумерации списка.

Допустим отметим ячейку D3 и запустим макрос :
Код
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(RC[1]:RC[1]))"

Получаем:
Код
=ЕСЛИ(ЕПУСТО(E3);"";СЧЁТЗ(E3:E3))

Надо изменить код макроса, чтобы получалось:
Код
=ЕСЛИ(ЕПУСТО(E3);"";СЧЁТЗ($E$3:E3))

Автор - Otter
Дата добавления - 14.11.2017 в 09:23
китин Дата: Вторник, 14.11.2017, 09:47 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7034
Репутация: 1079 ±
Замечаний: 0% ±

Excel 2007;2010;2016
как подправить макрос а

какой макрос?где он?


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

какой макрос?где он?

Автор - китин
Дата добавления - 14.11.2017 в 09:47
Otter Дата: Вторник, 14.11.2017, 09:54 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 174
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019, Word 2019
Извините, что не дал код макроса. Вот он:
[vba]
Код
Private Sub CommandButton49_Click()
   
    Application.EnableEvents = False
    ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(RC[1]:RC[1]))"
    Application.EnableEvents = True
   
End Sub
[/vba]


Сообщение отредактировал Otter - Вторник, 14.11.2017, 09:58
 
Ответить
СообщениеИзвините, что не дал код макроса. Вот он:
[vba]
Код
Private Sub CommandButton49_Click()
   
    Application.EnableEvents = False
    ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(RC[1]:RC[1]))"
    Application.EnableEvents = True
   
End Sub
[/vba]

Автор - Otter
Дата добавления - 14.11.2017 в 09:54
_Igor_61 Дата: Вторник, 14.11.2017, 10:16 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 504
Репутация: 90 ±
Замечаний: 0% ±

Excel 2007
А если так?
[vba]
Код
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(R[2]C[1]),"""",COUNTA(R3C5:R[2]C[1]))"
[/vba]


Сообщение отредактировал _Igor_61 - Вторник, 14.11.2017, 10:18
 
Ответить
СообщениеА если так?
[vba]
Код
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(R[2]C[1]),"""",COUNTA(R3C5:R[2]C[1]))"
[/vba]

Автор - _Igor_61
Дата добавления - 14.11.2017 в 10:16
_Boroda_ Дата: Вторник, 14.11.2017, 10:18 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16885
Репутация: 6599 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно в COUNTA?
[vba]
Код
R3C5:RC[1]
[/vba]

Целиком
[vba]
Код
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(R3C5:RC[1]))"
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно в COUNTA?
[vba]
Код
R3C5:RC[1]
[/vba]

Целиком
[vba]
Код
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(R3C5:RC[1]))"
[/vba]

Автор - _Boroda_
Дата добавления - 14.11.2017 в 10:18
Otter Дата: Вторник, 14.11.2017, 10:29 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 174
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019, Word 2019
Цитата
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(R[2]C[1]),"""",COUNTA(R3C5:R[2]C[1]))"

Этот код не работает у меня.

Поменять в коде надо только
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(RC[1]:RC[1]))"
выделенный красным элемент, чтобы была абсолютная ссылка на начало диапазона. Например:$E$3:Е3


Сообщение отредактировал Otter - Вторник, 14.11.2017, 13:06
 
Ответить
Сообщение
Цитата
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(R[2]C[1]),"""",COUNTA(R3C5:R[2]C[1]))"

Этот код не работает у меня.

Поменять в коде надо только
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(RC[1]:RC[1]))"
выделенный красным элемент, чтобы была абсолютная ссылка на начало диапазона. Например:$E$3:Е3

Автор - Otter
Дата добавления - 14.11.2017 в 10:29
Otter Дата: Вторник, 14.11.2017, 10:48 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 174
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019, Word 2019
Так нужно в COUNTA?

Почти так.
Цитата
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(R3C5:RC[1]))"

только R3C5 дают абсолютную ссылку не совпадающую с RC[1]

Начало диапазона в COUNTA должно быть абсолютной ссылкой.
На выходе после работы макроса должен быть диапазон $А$5:А5 или $С$3:С3 или $B$8:B8 и так далее
Начало диапазона (абсолютная ссылка) должна быть равна концу диапазона (относительная ссылка)
В COUNTA всегда начало и конец диапазона одно и тоже число, только начало абсолютная ссылка.

При запуске макроса на любой ячейке должно быть на выходе как-то так
Для ячейки В10 формула вставки:
Код
=ЕСЛИ(ЕПУСТО(C10);"";СЧЁТЗ($C$10:С10))
или
Для ячейки С7 формула вставки:
Код
=ЕСЛИ(ЕПУСТО(D7);"";СЧЁТЗ($D$7:D7))
и так далее

Сейчас макрос выдает:
Код
=ЕСЛИ(ЕПУСТО(C10);"";СЧЁТЗ(C10:С10))
или
Код
=ЕСЛИ(ЕПУСТО(D7);"";СЧЁТЗ(D7:D7))


Работа макроса устраивает только каждый раз надо вручную проставлять $ в нужных местах где их нет.


Сообщение отредактировал Otter - Вторник, 14.11.2017, 13:14
 
Ответить
Сообщение
Так нужно в COUNTA?

Почти так.
Цитата
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(R3C5:RC[1]))"

только R3C5 дают абсолютную ссылку не совпадающую с RC[1]

Начало диапазона в COUNTA должно быть абсолютной ссылкой.
На выходе после работы макроса должен быть диапазон $А$5:А5 или $С$3:С3 или $B$8:B8 и так далее
Начало диапазона (абсолютная ссылка) должна быть равна концу диапазона (относительная ссылка)
В COUNTA всегда начало и конец диапазона одно и тоже число, только начало абсолютная ссылка.

При запуске макроса на любой ячейке должно быть на выходе как-то так
Для ячейки В10 формула вставки:
Код
=ЕСЛИ(ЕПУСТО(C10);"";СЧЁТЗ($C$10:С10))
или
Для ячейки С7 формула вставки:
Код
=ЕСЛИ(ЕПУСТО(D7);"";СЧЁТЗ($D$7:D7))
и так далее

Сейчас макрос выдает:
Код
=ЕСЛИ(ЕПУСТО(C10);"";СЧЁТЗ(C10:С10))
или
Код
=ЕСЛИ(ЕПУСТО(D7);"";СЧЁТЗ(D7:D7))


Работа макроса устраивает только каждый раз надо вручную проставлять $ в нужных местах где их нет.

Автор - Otter
Дата добавления - 14.11.2017 в 10:48
_Boroda_ Дата: Вторник, 14.11.2017, 13:13 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16885
Репутация: 6599 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так?
[vba]
Код
Sub tt()
    Dim d_ As Range
    Set d_ = ActiveCell
    d_.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(" & d_.Offset(, 1).Address(, , 0) & ":RC[1]))"
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак?
[vba]
Код
Sub tt()
    Dim d_ As Range
    Set d_ = ActiveCell
    d_.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",COUNTA(" & d_.Offset(, 1).Address(, , 0) & ":RC[1]))"
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 14.11.2017 в 13:13
Otter Дата: Вторник, 14.11.2017, 13:23 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 174
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019, Word 2019
Спасибо _Boroda_, это то что нужно
Вопрос закрыт.
 
Ответить
СообщениеСпасибо _Boroda_, это то что нужно
Вопрос закрыт.

Автор - Otter
Дата добавления - 14.11.2017 в 13:23
  • Страница 1 из 1
  • 1
Поиск:

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