Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2009, 17:18   #1
Oooleg
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 39
По умолчанию функция arccos(a) на VBA

Всех приветствую!
Подскажите пожалуйста какой синтаксис у функции arccos(a) на VBA ?
Oooleg вне форума Ответить с цитированием
Старый 29.09.2009, 18:55   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
x=WorksheetFunction.Acos(a)
И ещё: (нашёл здесь: http://www.planetaexcel.ru/forum.php?thread_id=2143)
Цитата:
Сообщение от ZVI
О вызове функций Excel из VBA и быстродействии.

С т.з. синтаксиса вместо Application.Acos правильнее:
Application.WorksheetFunction.Acos или
Excel.WorksheetFunction.Acos или просто
WorksheetFunction.Acos

Но такие вызовы медленные из-за моста в виде OLE-объекта между VBA и Excel.
Использование же константа pi вместо WorksheetFunction.pi - это правильное решение.

Если важно быстродействие, то лучше написать свою VBA-функцию арккосинуса, например, так:

Код:
Function Acos(ByVal a As Double) As Double
If a = 1 Then
Acos = 0
ElseIf a = -1 Then
Acos = pi
Else
Acos = Atn(-a / Sqr(-a * a + 1)) + 2 * Atn(1)
End If
End Function
EducatedFool вне форума Ответить с цитированием
Старый 30.09.2009, 11:39   #3
Oooleg
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 39
По умолчанию

Спасибо!
Работает.
Oooleg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ArcSin, ArcCos, ArcTan, ArcCtg неработают!!!! Vol666 Общие вопросы Delphi 3 24.08.2009 09:56
Функция в VB asd48 Помощь студентам 1 25.12.2008 23:29
Вычисление числа Е и arcsin или arccos qip2005 Паскаль, Turbo Pascal, PascalABC.NET 10 08.12.2008 10:36
функция Janette Помощь студентам 1 29.04.2008 20:10
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50