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

Вход

Регистрация

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

 

= Мир MS Excel/Задача в VBA с неизвестными x,y,z и b. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Задача в VBA с неизвестными x,y,z и b. (Макросы Sub)
Задача в VBA с неизвестными x,y,z и b.
Bogdand Дата: Воскресенье, 12.01.2014, 16:57 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
ПРиветствую!
Есть такая задача


Какой код к решению?
Я пишу [vba]
Код
Function G(x)
If x < 2.45 Then G = (1 + y) ^ 2 * x + z ^ 3 * ((b ^ 2) + 4)
If 3 <= x And x < 8 Then G = Exp(-(x - 2)) + 1 / (b ^ 34 / 100)
If x > 8 Then G = (x + z ^ 3) / (b ^ 2 + 4)
End Function
[/vba]

Неверно.Какой код верный?


Сообщение отредактировал Bogdand - Воскресенье, 12.01.2014, 22:57
 
Ответить
СообщениеПРиветствую!
Есть такая задача


Какой код к решению?
Я пишу [vba]
Код
Function G(x)
If x < 2.45 Then G = (1 + y) ^ 2 * x + z ^ 3 * ((b ^ 2) + 4)
If 3 <= x And x < 8 Then G = Exp(-(x - 2)) + 1 / (b ^ 34 / 100)
If x > 8 Then G = (x + z ^ 3) / (b ^ 2 + 4)
End Function
[/vba]

Неверно.Какой код верный?

Автор - Bogdand
Дата добавления - 12.01.2014 в 16:57
AndreTM Дата: Воскресенье, 12.01.2014, 18:14 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
b ^ 34 / 100 = b34:100 - возведение в степень имеет более высокий приоритет, чем умножение/деление :)
Чем не устраивает b^(0.34) ?

А вообще...
[vba]
Код
Function G(x, y, z, b)
G = Switch( _
      x < 2.45, (1 + y) ^ 2 * x + z ^ 3 * ((b ^ 2) + 4), _
      x >= 3 And x < 8, Exp(-(x - 2)) + 1 / b ^ 0.34, _
      x > 8, x + z ^ 3 / (b ^ 2 + 4))
End Function
[/vba]


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Понедельник, 13.01.2014, 01:28
 
Ответить
Сообщениеb ^ 34 / 100 = b34:100 - возведение в степень имеет более высокий приоритет, чем умножение/деление :)
Чем не устраивает b^(0.34) ?

А вообще...
[vba]
Код
Function G(x, y, z, b)
G = Switch( _
      x < 2.45, (1 + y) ^ 2 * x + z ^ 3 * ((b ^ 2) + 4), _
      x >= 3 And x < 8, Exp(-(x - 2)) + 1 / b ^ 0.34, _
      x > 8, x + z ^ 3 / (b ^ 2 + 4))
End Function
[/vba]

Автор - AndreTM
Дата добавления - 12.01.2014 в 18:14
Bogdand Дата: Воскресенье, 12.01.2014, 18:17 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
Спасибо!
Но при использование этого макроса в Ексель выдает Argument not optical, в чем дело?
 
Ответить
СообщениеСпасибо!
Но при использование этого макроса в Ексель выдает Argument not optical, в чем дело?

Автор - Bogdand
Дата добавления - 12.01.2014 в 18:17
Pelena Дата: Воскресенье, 12.01.2014, 23:33 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19203
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
В третьем выражении тоже ошибка: здесь (x + z ^ 3) скобки не нужны


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВ третьем выражении тоже ошибка: здесь (x + z ^ 3) скобки не нужны

Автор - Pelena
Дата добавления - 12.01.2014 в 23:33
Bogdand Дата: Воскресенье, 12.01.2014, 23:35 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
Function G(x, y, z, b)
If x < 2.45 Then G = (1 + y) ^ 2 * x + z ^ 3 * (b ^ 2 + 4)
If x >= 3 And x < 8 Then G = Exp(-(x - 2)) + 1 / (b ^ (34 / 100))
If x > 8 Then G = x + z ^ 3 / (b ^ 2 + 4)
End Function

Function G(x, y, z, b)
G = Switch( _
x < 2.45, (1 + y) ^ 2 * x + z ^ 3 * ((b ^ 2) + 4), _
x >= 3 And x < 8, Exp(-(x - 2)) + 1 / b ^ 0.34, _
x > 8, (x + z ^ 3) / (b ^ 2 + 4))
End Function

В обоих случаях Argument not optional - что не так?
 
Ответить
СообщениеFunction G(x, y, z, b)
If x < 2.45 Then G = (1 + y) ^ 2 * x + z ^ 3 * (b ^ 2 + 4)
If x >= 3 And x < 8 Then G = Exp(-(x - 2)) + 1 / (b ^ (34 / 100))
If x > 8 Then G = x + z ^ 3 / (b ^ 2 + 4)
End Function

Function G(x, y, z, b)
G = Switch( _
x < 2.45, (1 + y) ^ 2 * x + z ^ 3 * ((b ^ 2) + 4), _
x >= 3 And x < 8, Exp(-(x - 2)) + 1 / b ^ 0.34, _
x > 8, (x + z ^ 3) / (b ^ 2 + 4))
End Function

В обоих случаях Argument not optional - что не так?

Автор - Bogdand
Дата добавления - 12.01.2014 в 23:35
doober Дата: Воскресенье, 12.01.2014, 23:53 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Все варианты работают правильно,возможно аргументы пропустили




Сообщение отредактировал doober - Воскресенье, 12.01.2014, 23:55
 
Ответить
СообщениеВсе варианты работают правильно,возможно аргументы пропустили

Автор - doober
Дата добавления - 12.01.2014 в 23:53
Pelena Дата: Воскресенье, 12.01.2014, 23:54 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19203
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
У меня первый вариант работает
К сообщению приложен файл: udf.xls (31.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеУ меня первый вариант работает

Автор - Pelena
Дата добавления - 12.01.2014 в 23:54
Bogdand Дата: Понедельник, 13.01.2014, 00:12 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
Всем спасибо,уже разобрался!
 
Ответить
СообщениеВсем спасибо,уже разобрался!

Автор - Bogdand
Дата добавления - 13.01.2014 в 00:12
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Задача в VBA с неизвестными x,y,z и b. (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

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