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

Вход

Регистрация

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

 

= Мир MS Excel/До работать пользовательску. функцию нумерованного списка - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » До работать пользовательску. функцию нумерованного списка (Макросы/Sub)
До работать пользовательску. функцию нумерованного списка
Otter Дата: Вторник, 05.05.2015, 18:45 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 174
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019, Word 2019
Доброго вечера.
Помогите допилить пользовательскую функцию нумерованного списка

[vba]
Код
Function НумСписок(Ячейка)
     НумСписок =ЕСЛИ(ЕПУСТО(B1),"",СЧЁТЗ($B$1:B1))
      
End Function
[/vba]
 
Ответить
СообщениеДоброго вечера.
Помогите допилить пользовательскую функцию нумерованного списка

[vba]
Код
Function НумСписок(Ячейка)
     НумСписок =ЕСЛИ(ЕПУСТО(B1),"",СЧЁТЗ($B$1:B1))
      
End Function
[/vba]

Автор - Otter
Дата добавления - 05.05.2015 в 18:45
Manyasha Дата: Вторник, 05.05.2015, 19:03 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Otter, так попробуйте[vba]
Код
Function НумСписок(Ячейка As Range, Диапазон As Range)
     НумСписок = IIf(Ячейка = "", "", WorksheetFunction.CountA(Диапазон))
End Function
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеOtter, так попробуйте[vba]
Код
Function НумСписок(Ячейка As Range, Диапазон As Range)
     НумСписок = IIf(Ячейка = "", "", WorksheetFunction.CountA(Диапазон))
End Function
[/vba]

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

Excel 2019, Word 2019
Нет так не работает. Смысл в приложенном файле. В столбце "A"стоит формула которая ведет нумерованный список данных из столбца "B" Есть значение тогда ставит номер. Файл прилагаю.
Формула в столбце =ЕСЛИ(ЕПУСТО(B3);"";СЧЁТЗ($B$3:B3)) и ее надо реализовать пользовательской функцией.
К сообщению приложен файл: 33_.xlsx (10.4 Kb)


Сообщение отредактировал Otter - Вторник, 05.05.2015, 19:40
 
Ответить
СообщениеНет так не работает. Смысл в приложенном файле. В столбце "A"стоит формула которая ведет нумерованный список данных из столбца "B" Есть значение тогда ставит номер. Файл прилагаю.
Формула в столбце =ЕСЛИ(ЕПУСТО(B3);"";СЧЁТЗ($B$3:B3)) и ее надо реализовать пользовательской функцией.

Автор - Otter
Дата добавления - 05.05.2015 в 19:39
AndreTM Дата: Вторник, 05.05.2015, 20:17 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Otter, давно уже хочу сказать - вы что-то не в том направлении двигаетесь.
Заменять достаточно простые формулы на "самописные" функции листа смысла не имеет, выигрыша это не даёт. Потому что, с точки зрения объектной модели, ей всё равно - высчитывать в ячейке "формулу из набора встроенных" или "формулу с обращением к внешним".
Вот если бы вы именно меняли подход... например, в данном случае, имеется смысл написать пользовательскую процедуру, которая возьмет диапазон исходных данных и разом его пронумерует. И вызываться эта процедура будет не абы как левая нога захотела, а в строго определенные моменты, по мере надобности. Пользовательской надобности. Потому что, если уж строго подходить, задайте себе вопрос - "а для чего вообще нужна данная нумерация? в какой момент она потребуется? зачем я её буду динамически все время пересчитывать-то?.." :)

Ну и не надо думать, что для автонумерации нужны "тяжелые" функции. Пример (там, правда, УФ задействовано):
К сообщению приложен файл: 3852355.xlsx (10.5 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Вторник, 05.05.2015, 20:27
 
Ответить
СообщениеOtter, давно уже хочу сказать - вы что-то не в том направлении двигаетесь.
Заменять достаточно простые формулы на "самописные" функции листа смысла не имеет, выигрыша это не даёт. Потому что, с точки зрения объектной модели, ей всё равно - высчитывать в ячейке "формулу из набора встроенных" или "формулу с обращением к внешним".
Вот если бы вы именно меняли подход... например, в данном случае, имеется смысл написать пользовательскую процедуру, которая возьмет диапазон исходных данных и разом его пронумерует. И вызываться эта процедура будет не абы как левая нога захотела, а в строго определенные моменты, по мере надобности. Пользовательской надобности. Потому что, если уж строго подходить, задайте себе вопрос - "а для чего вообще нужна данная нумерация? в какой момент она потребуется? зачем я её буду динамически все время пересчитывать-то?.." :)

Ну и не надо думать, что для автонумерации нужны "тяжелые" функции. Пример (там, правда, УФ задействовано):

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

Excel 2019, Word 2019
AndreTM, Ладно, может Вы и правы. Спасибо за советы. Возьму на вооружение.
 
Ответить
СообщениеAndreTM, Ладно, может Вы и правы. Спасибо за советы. Возьму на вооружение.

Автор - Otter
Дата добавления - 05.05.2015 в 20:47
Manyasha Дата: Среда, 06.05.2015, 09:05 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Otter, не поняла, что именно не работает в моем коде? в ячейку, где должен быть номер
Код
=НумСписок(B3;$B$3:B3)
К сообщению приложен файл: 33_1.xlsm (16.0 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеOtter, не поняла, что именно не работает в моем коде? в ячейку, где должен быть номер
Код
=НумСписок(B3;$B$3:B3)

Автор - Manyasha
Дата добавления - 06.05.2015 в 09:05
Мир MS Excel » Вопросы и решения » Вопросы по VBA » До работать пользовательску. функцию нумерованного списка (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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