Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Переписать функцию в программу - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Переписать функцию в программу (Макросы Sub)
Переписать функцию в программу
Наташа Дата: Понедельник, 16.12.2013, 18:20 | Сообщение № 1
Группа: Гости
мне дали функцию, и сказали сделать из неё программу, помогите, пожалуйста, вроде что-то пишу, но не работает(((
Function acos(x)
dim pi as single
dim aa as single
pi=3.1415296
aa=Atn(Sqr(1-x*x)/x)
if aa<=0 Then aa=aa+pi
if x=-1 Then aa=pi
acos=aa
End Function
 
Ответить
Сообщениемне дали функцию, и сказали сделать из неё программу, помогите, пожалуйста, вроде что-то пишу, но не работает(((
Function acos(x)
dim pi as single
dim aa as single
pi=3.1415296
aa=Atn(Sqr(1-x*x)/x)
if aa<=0 Then aa=aa+pi
if x=-1 Then aa=pi
acos=aa
End Function

Автор - Наташа
Дата добавления - 16.12.2013 в 18:20
AndreTM Дата: Понедельник, 16.12.2013, 19:03 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
А что именно не работает? Вроде всё правильно...
Или можно ещё так:
[vba]
Код
Function ArcCos(x)
     Select Case x
     Case Is = -1
         ArcCos = Application.WorksheetFunction.pi()
     Case Is = 1
         ArcCos = 0
     Case -1 To 1
         ArcCos = Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1)
     Case Else
         ArcCos = CVErr(2015)
     End Select
End Function

Function ArcCos2(x)
     ArcCos2 = Application.WorksheetFunction.acos(x)
End Function
[/vba]
К сообщению приложен файл: 10-7927-1-1.xls (29.0 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеА что именно не работает? Вроде всё правильно...
Или можно ещё так:
[vba]
Код
Function ArcCos(x)
     Select Case x
     Case Is = -1
         ArcCos = Application.WorksheetFunction.pi()
     Case Is = 1
         ArcCos = 0
     Case -1 To 1
         ArcCos = Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1)
     Case Else
         ArcCos = CVErr(2015)
     End Select
End Function

Function ArcCos2(x)
     ArcCos2 = Application.WorksheetFunction.acos(x)
End Function
[/vba]

Автор - AndreTM
Дата добавления - 16.12.2013 в 19:03
Наташа Дата: Понедельник, 16.12.2013, 19:12 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AndreTM, мне нужна программа, а функция это как дано...
 
Ответить
СообщениеAndreTM, мне нужна программа, а функция это как дано...

Автор - Наташа
Дата добавления - 16.12.2013 в 19:12
RAN Дата: Понедельник, 16.12.2013, 19:14 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А программа - это что?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА программа - это что?

Автор - RAN
Дата добавления - 16.12.2013 в 19:14
Наташа Дата: Понедельник, 16.12.2013, 19:17 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, процедура
 
Ответить
СообщениеRAN, процедура

Автор - Наташа
Дата добавления - 16.12.2013 в 19:17
RAN Дата: Понедельник, 16.12.2013, 19:19 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub acosS(x)  
dim pi as single  
dim aa as single  
pi=3.1415296  
aa=Atn(Sqr(1-x*x)/x)  
if aa<=0 Then aa=aa+pi  
if x=-1 Then aa=pi  
End Sub
[/vba]

:D


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub acosS(x)  
dim pi as single  
dim aa as single  
pi=3.1415296  
aa=Atn(Sqr(1-x*x)/x)  
if aa<=0 Then aa=aa+pi  
if x=-1 Then aa=pi  
End Sub
[/vba]

:D

Автор - RAN
Дата добавления - 16.12.2013 в 19:19
Наташа Дата: Понедельник, 16.12.2013, 19:21 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, я не очень разбираюсь в бейсике..но msgbox не нужно? всё так будет работать?
 
Ответить
СообщениеRAN, я не очень разбираюсь в бейсике..но msgbox не нужно? всё так будет работать?

Автор - Наташа
Дата добавления - 16.12.2013 в 19:21
RAN Дата: Понедельник, 16.12.2013, 19:23 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Конечно. :D

А что называется работать?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеКонечно. :D

А что называется работать?

Автор - RAN
Дата добавления - 16.12.2013 в 19:23
Наташа Дата: Понедельник, 16.12.2013, 19:27 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, ну значения выводить
а end if почему не надо?
Sub acosS(x as single) так неправильно?
 
Ответить
СообщениеRAN, ну значения выводить
а end if почему не надо?
Sub acosS(x as single) так неправильно?

Автор - Наташа
Дата добавления - 16.12.2013 в 19:27
RAN Дата: Понедельник, 16.12.2013, 19:31 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Не, значения выводить не будет. Будет просто работать.
А на второй вопрос F1 ответит.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНе, значения выводить не будет. Будет просто работать.
А на второй вопрос F1 ответит.

Автор - RAN
Дата добавления - 16.12.2013 в 19:31
Наташа Дата: Понедельник, 16.12.2013, 19:50 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, а это нормально, что она работать не будет?)
 
Ответить
СообщениеRAN, а это нормально, что она работать не будет?)

Автор - Наташа
Дата добавления - 16.12.2013 в 19:50
RAN Дата: Понедельник, 16.12.2013, 19:52 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Как же не будет, если будет?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеКак же не будет, если будет?

Автор - RAN
Дата добавления - 16.12.2013 в 19:52
Наташа Дата: Понедельник, 16.12.2013, 19:54 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, можешь мне, пожалуйста, объяснить? это у нас процедура, которая не выводит значения, да? а для чего она тогда нужна? как составляющая какой-то программы?
 
Ответить
СообщениеRAN, можешь мне, пожалуйста, объяснить? это у нас процедура, которая не выводит значения, да? а для чего она тогда нужна? как составляющая какой-то программы?

Автор - Наташа
Дата добавления - 16.12.2013 в 19:54
RAN Дата: Понедельник, 16.12.2013, 20:00 | Сообщение № 14
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
а для чего она тогда нужна?

Откуда мне знать?
Надо было процедуру - я сделал. Работающую. Т.е. код выполнит все команды от первой до последней строчки.
А что, как и зачем - в упор не видел.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
а для чего она тогда нужна?

Откуда мне знать?
Надо было процедуру - я сделал. Работающую. Т.е. код выполнит все команды от первой до последней строчки.
А что, как и зачем - в упор не видел.

Автор - RAN
Дата добавления - 16.12.2013 в 20:00
KuklP Дата: Понедельник, 16.12.2013, 20:03 | Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Гы) hands


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеГы) hands

Автор - KuklP
Дата добавления - 16.12.2013 в 20:03
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Переписать функцию в программу (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!