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

Вход

Регистрация

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

 

= Мир MS Excel/Преобразование комментария в текстовое значение (UDF) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Преобразование комментария в текстовое значение (UDF)
Формуляр Дата: Четверг, 22.12.2011, 13:11 | Сообщение № 1
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Понадобилось тут вытащить текст комментариев для дальнейшей обработки.
Написал простенькую UDF - может сгодится кому ещё.

PS: любопытно, что значение при изменении коммента не пересчитывается - только при вводе ф-лы.
К сообщению приложен файл: CellComment.xls (17.5 Kb)


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеПонадобилось тут вытащить текст комментариев для дальнейшей обработки.
Написал простенькую UDF - может сгодится кому ещё.

PS: любопытно, что значение при изменении коммента не пересчитывается - только при вводе ф-лы.

Автор - Формуляр
Дата добавления - 22.12.2011 в 13:11
nerv Дата: Пятница, 23.12.2011, 11:26 | Сообщение № 2
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Формуляр, если объявлять переменную As String, то она по умолчанию инициализируется пустой текстовой строкой. Или я не прав?

[vba]
Код
Function CellComment(ByVal Target As Range) As String
          If Target.Comment Is Nothing Then
              CellComment = vbNullString
          Else
              CellComment = Target.Comment.Text
          End If
End Function
[/vba]

т.е. почему не (см ниже)? И почему ByVal?

[vba]
Код
Public Function io(ByRef x As Range) As String
If Not x.Comment Is Nothing Then io = x.Comment.Text
End Function
[/vba]


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Пятница, 23.12.2011, 11:27
 
Ответить
СообщениеФормуляр, если объявлять переменную As String, то она по умолчанию инициализируется пустой текстовой строкой. Или я не прав?

[vba]
Код
Function CellComment(ByVal Target As Range) As String
          If Target.Comment Is Nothing Then
              CellComment = vbNullString
          Else
              CellComment = Target.Comment.Text
          End If
End Function
[/vba]

т.е. почему не (см ниже)? И почему ByVal?

[vba]
Код
Public Function io(ByRef x As Range) As String
If Not x.Comment Is Nothing Then io = x.Comment.Text
End Function
[/vba]

Автор - nerv
Дата добавления - 23.12.2011 в 11:26
Формуляр Дата: Пятница, 23.12.2011, 18:46 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Да просто не задумывался над оптимизацией - и так плоторы строчки кода.
Замечания вполне разумны.


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеДа просто не задумывался над оптимизацией - и так плоторы строчки кода.
Замечания вполне разумны.

Автор - Формуляр
Дата добавления - 23.12.2011 в 18:46
  • Страница 1 из 1
  • 1
Поиск:

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