Страницы: 1
RSS
Справочник соответствий функций Экселя и VBA
 
Существуют ли справочники  соответствий функций Экселя и VBA? Т.е. справочник в котором, зная функцию Экселя, можно  быстро найти ее аналог в VBA?    
 
Если да, то где его можно посмотреть?
 
VBA имеет свои функции. Некоторые из них похожи на функции рабочего листа Excel.  
 
Но в VBA можно использывать и функции листа Excel. Для этого надо написать слово Worksheetfunction. (точка обязательна). Поставив точку в конце этого слова у вас выскочит список функций рабочего листа.  
 
Как пример  
 
Sub Макрос1()  
   MsgBox WorksheetFunction.Sum(7, 3, 5)  
End Sub  
 
P.S. Список соответсвий русскому и английскому названию функций можете посмотреть в приложенном файле
 
А можно выложить файлик без пароля на VBA. Очень заинтересовала возможность сортировки на листе.
 
Это не причуда ув. Pavel55, пароль на VBA мелкомягкие поставили :)  
Сами можете убедится найдя его у себя на диске. Путь такой:  
C:\Program Files\Microsoft Office\OFFICE11\1049\FUNCS.XLS  
для 2003-го офиса.
 
Лузер™, наверное, в Вашем сообщение вы обращались к NIKOLASCS, а не ко мне )
 
Это было не обращение, я его обычно занятыми выделяю. Это сокращение. Правильно читать так: "... уважаемого Pavel55 ..."  
:-)
 
аа )))  
 
P.S. кто сломает пароль на проект VBA из моего файла? )  
 
P.P.S. это не призыв, это слова вслух )
 
Если что сломать, так это мы любим :)  
Естественно, цифровая подпись мелкомягких на проект пропала.
 
{quote}{login=Pavel55}{date=11.04.2008 12:07}{thema=}{post}кто сломает пароль на проект VBA из моего файла? {/post}{/quote}  
3FA2
 
PAVEL55! На форуме вычитал о использовании функциий листа Excel в VBA. Для этого надо написать слово Worksheetfunction. (точка обязательна). Поставив точку в конце этого слова у вас выскочит список функций рабочего листа.  
Все так и получается.  
Функция листа Отбросить "ОТБР()" для русской версии или "TRUNC()" для английской версии отказывается работать.  
Прикладываю файл:ФУНКЦИЯ.xls  
Возможно ли это выполнить?
 
Используйте VBA функцию Fix, и писать меньше :)  
Вместо ЦЕЛОЕ - VBA функцию Int.
 
Не все функции рабочего листа поддерживаются в VBA  
Но есть и более универсальное средство  
 
Попробуйте добавить в Вашу процедуру:  
MsgBox Application.Evaluate(Range("D3").Formula) или  
MsgBox Application.ActiveSheet.Evaluate(Range("D3").Formula)  
 
Метод Evaluate позволяет получить рассчитать не только функции, но и более сложные выражения
 
При работе с Evaluate надо быть осторожным - возможны ошибки, связанные с локализацией (стоит попробовать выражения в английском и русском вариантах)  
 
Лучший способ - использовать Evaluate только в случае крайней необходимости, а вместо непоодерживаемых функций применять их Basic-аналоги (их потому и нет, что существуют аналоги)
 
Спасибо! Буду пробовать!
Страницы: 1
Читают тему
Наверх