Если у Вас возникла необходимость в программном использовании функций, которые, как правило, доступны, только после подключения надстройки "Пакет анализа", но, при этом, Вы не хотите подключать эту надстройку или открывать файл ATPVBAEN.XLA, то начиная с Excel 2000 для решения этой задачи можно использовать OWC - Office Web Components
Несколько примеров использования:
Получение случайного числа от -100 до 100 =СЛУЧМЕЖДУ(-100; 100)
code: #vba
iResult = CreateObject("OCATP.OCATP.1").RANDBETWEEN(-100, 100)
Получение даты, отстоящей от текущей даты, на один месяц =ДАТАМЕС(СЕГОДНЯ(); 1)
И получение последнего дня текущего месяца =КОНМЕСЯЦА(СЕГОДНЯ(); 0)
With CreateObject("OCATP.OCATP.1")
iResult1 = .RANDBETWEEN(-100, 100)
iResult2 = CDate(.EDATE(Date, 1))
iResult3 = CDate(.EOMONTH(Date, 0))
End With
Если же Вам необходимы подсказки к функциям (количество аргументов, их тип и обязательность), то используйте раннее связывание. Для этого, в редакторе VBA в меню Tools выберите команду References и подключите Microsoft Office Web Components Function Library (MSOWCF.DLL)
Dim iOWCATP As New MSOWCFLib.OCATP
Dim iDate As Date, iResult As Date
iDate = Now 'Date
iResult = iOWCATP.EOMONTH(iDate, 0)
MsgBox "Последний день этого месяца : " & iResult
code: #vba
Dim iDate As Date, iResult1#, iResult2#, iResult3#
With New MSOWCFLib.OCATP
iDate = #1/31/2007# '39113
iResult1 = .EDATE(CDbl(iDate), 1)
iResult2 = .CONVERT(451, "F", "C")
iResult3 = .WEEKNUM(CDbl(Date), 2)
MsgBox "Дата, отстоящая на один месяц от " & iDate & " это " & CDate(iResult1)
MsgBox "451 по Фаренгейту, а в цельсиях, это " & iResult2
MsgBox "Сейчас идёт неделя# " & iResult3
End With
Если найти OWC не удаётся, а применение первых советов, приводит к возникновению ошибки, то, по всей видимости, на Вашем компьютере просто нет указанного компонента.