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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2010, 22:22   #1
ahvahsky2008
Пользователь
 
Регистрация: 09.03.2010
Сообщений: 31
Печаль Перемножение

Public Sub CommandButton1_Click()
Dim Ty_max, Ymax, T, Xn, Vn, G, B As Single
Dim Vo, A As Single


G = 9.8
'********************Main********** **************'
'В ячейке G7 число 10 а в ячейке G8 20

Vo = Range("G7").Select 'в идеале Vo должно было прировнять к 10
A = Range("G8").Select ' A должно было быть 20
' но почему то ответ выходит неправильный((((((

' а когда я вручную делаю
Vo=10
A=20

'ответ выходит правильный

'Вот тут выводится ответ
Ty_max = (Vo * Sin(A)) / G
Range("G15").Select
ActiveCell.FormulaR1C1 = Ty_max
ahvahsky2008 вне форума Ответить с цитированием
Старый 12.09.2010, 23:24   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Вот так работает:
Код:
Sub Test()
    Dim Ty_max, Ymax, T, Xn, Vn, G, B As Single
    Dim Vo, A As Single
    G = 9.8
    '********************Main********** **************'
    'В ячейке G7 число 10 а в ячейке G8 20
    Vo = Range("G7")    '.Select 'в идеале Vo должно было прировнять к 10
    A = Range("G8")    '.Select ' A должно было быть 20
    ' но почему то ответ выходит неправильный((((((
    ' а когда я вручную делаю
   ' Vo = 10
   ' A = 20
    'ответ выходит правильный
    'Вот тут выводится ответ
    Ty_max = (Vo * Sin(A)) / G
    Range("G15").FormulaR1C1 = Ty_max
    'ActiveCell.FormulaR1C1 = Ty_max
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 12.09.2010, 23:43   #3
ahvahsky2008
Пользователь
 
Регистрация: 09.03.2010
Сообщений: 31
По умолчанию

Public Sub CommandButton1_Click()
Dim Ty_max, Ymax, T, Xn, Vn, G, B As Single
Dim Vo, A As Single


G = 9.8
'********************Main********** **************'
Vo = Range("G7").Value
A = Range("G8").Value
If Vo <> 10 Then MsgBox ("âàïâàïâà")
Ty_max = (Vo * Sin(A)) / G
Range("G15").Select
ActiveCell.FormulaR1C1 = Ty_max
'********************************2* **************'
Ymax = Yo + ((Sqr(Vo) * (Sin(A) * Sin(A))) / 2 * G)
Range("G16").Select
ActiveCell.FormulaR1C1 = Ymax
'**********************3*********** **********'
T = (Vo * Sin(A) + Sqrt(Sqr(Vo) * Sin(A) * Sin(A) + 2 * G * Yo))
Range("G17").Select
ActiveCell.FormulaR1C1 = T


исправил ,но теперь ругается на SQRT/ при запуске пишет sub or function not defined
ahvahsky2008 вне форума Ответить с цитированием
Старый 13.09.2010, 00:06   #4
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Интересно, что парой строк выше вы совершенно правильно использовали функцию Sqr. Откуда же у вас взялось в VBA EXCEL SQRT?
Тяжёлое наследие паскаля/дельфи ?
Кстати, публикуемый код на этом форуме желательно заключать в тег CODE
(см ссылку BB коды в левом нижнем углу страницы)
Да и за кодировкой комментарив следить было бы неплохо...
Aent вне форума Ответить с цитированием
Старый 13.09.2010, 00:14   #5
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

ahvahsky2008 см. пост Aent
а вот это код, работает (старайтесь не использовать без необходимости Select)
Код:
Sub Test()
    Dim Ty_max, Ymax, T, Xn, Vn, G, B As Single
    Dim Vo, A As Single
    G = 9.8
    Vo = [g7]
    A = [g8]
    Ty_max = (Vo * Sin(A)) / G
    [g15] = Ty_max
    Ymax = Yo + ((Sqr(Vo) * (Sin(A) * Sin(A))) / 2 * G)
    [g16] = Ymax
    T = (Vo * Sin(A) + Sqr(Sqr(Vo) * Sin(A) * Sin(A) + 2 * G * Yo))
    [g17] = T
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перемножение матриц laike Помощь студентам 3 12.06.2010 12:03
Перемножение векторов Smile_Eminsa Общие вопросы C/C++ 0 11.05.2010 09:14
Перемножение матриц superkot Общие вопросы C/C++ 4 13.04.2010 20:55
Перемножение матриц Elysey Общие вопросы C/C++ 3 15.03.2010 20:18
Перемножение матриц Арина Помощь студентам 1 18.05.2007 19:21