Где найти источник функции VBA в Excel


12

У меня есть книга, которая использует определенную функцию VBA, которая не отображается в Вставка | Вставить функцию ... диалоговое окно со списком доступных функций.

Как мне найти его источник (чтобы узнать, что он делает)?

Ответы:


19

Я надеюсь, что понимаю ваш вопрос ... Из прочтения других ответов я вижу, что это не записанный макрос. Можно с уверенностью предположить, что кто-то написал это в VBA. Попробуйте следующее:

  1. Нажмите Alt+, F11чтобы открыть редактор VBA
  2. Нажмите «Просмотр» -> «Project Explorer» (он может быть уже виден). (Или: CTRL+ R)
  3. Вы должны увидеть «VBAProject (ваша книга name.xls). Нажмите на это.
  4. Щелкните один из листов в разделе «Объекты Microsoft Excel» в проводнике проекта.
  5. Нажмите Вид -> Код
  6. Нажмите Изменить -> Найти
  7. Введите название функции в поле
  8. Убедитесь, что выбран «Текущий проект».
  9. Нажмите Найти далее

Это должно привести вас туда, где написана функция.


Попробуйте это: 3а. Щелкните один из листов в разделе «Объекты Microsoft Excel» в проводнике проекта. 3b. Нажмите View> Code Now, попробуйте Шаг 4 в исходном ответе.
Sux2Lose

ура, что нашел его
Резерфорд

3

Нажмите ALT+, F11чтобы увидеть окно проекта VBA. Там вы сможете найти код для пользовательской функции.


1

Microsoft написала документацию для VBA. Он сортируется по объектам, а не по функциям, но если вам не нужно вводить имя объекта перед функцией, скорее всего, это будет функция объекта, с которым вы в данный момент работаете, например текущей книги. Эту документацию можно прочитать здесь. http://msdn.microsoft.com/en-us/library/bb149081.aspx Попробуйте найти функцию в таких объектах, как Рабочая тетрадь, Лист и т. д., и, если ее там нет, воспользуйтесь опцией поиска на сайте ( предупреждение: этот поиск был плохим, теперь он кажется поисковым, так что, может быть, он и сейчас лучше). Вы не сможете увидеть исходный код функции, но там есть всеобъемлющий API.

Если вы не можете найти функцию там и думаете, что это не стандартная функция Excel, возникает вопрос, откуда Excel взял ее для выполнения. Попробуйте отладить макрос, вызывающий данную функцию, и используйте кнопку «step on button». Если вы видите источник, вы решили свою проблему. Если его там нет, он может исходить от внешнего приложения, обменивающегося данными с Excel. Зайдите в кнопку «Офис», там выберите параметры Excel, там зайдите в надстройки. Вы можете посмотреть на установленные надстройки и найти их документацию.

Если все остальное терпит неудачу и / или является слишком громоздким, вы всегда можете найти в Google что-то вроде «[имя функции] + Excel + VBA + Документация]». Может быть, вы найдете онлайн-документацию.


эта функция определенно не является стандартной функцией Excel. Насколько я знаю, я вижу все функции, доступные через Вставка | Функция ... диалоговое окно, затем показать все категории. имя функции не отображается.
Резерфорд

0

Функция, на которую вы ссылаетесь, вероятно, является «макросом», записанным в Excel.

Если вы используете Office 2007, щелкните вкладку «Вид», а затем щелкните стрелку раскрывающегося списка под кнопкой «Макросы». Выберите «Просмотреть макросы» из списка, чтобы просмотреть макросы, записанные для этой таблицы.

Если вы видите в списке название интересующей вас функции, выберите ее и нажмите кнопку «Изменить», чтобы просмотреть ее.


спасибо за ответ, но я вижу здесь только два макроса, и ни одна из них мне не интересна
Резерфорд

Как называется функция?
Майкл Тодд,

имя рыночная стоимость
Резерфорд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.