1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | Если у Вас возникла необходимость в программном использовании функций, которые, как правило, доступны, только после подключения надстройки "Пакет анализа", но, при этом, Вы не хотите подключать эту надстройку или открывать файл 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 не удаётся, а применение первых советов, приводит к возникновению ошибки, то, по всей видимости, на Вашем компьютере просто нет указанного компонента. |