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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2011, 01:56   #1
Platon33
Новичок
Джуниор
 
Регистрация: 23.12.2011
Сообщений: 2
По умолчанию Ошибка Overflow

В общем зашел я на этот форум не случайно..так как очень нужна помощь знающих людей..
дали задание в институте на завтра сделать программирование в VBA и всё такое вроде ниче сложного но я забыл всё напрочь)
в общем вот:
Цитата:
Option Explicit
Public Sub ExecDialog()
Dim M As Single, N As Single
Dim P As Single, L As Single
Dim strM As String, strN As String
Dim response
newInput:
strM = InputBox("Введите M")
strN = InputBox("Введите N")
If Not IsNumeric(strM) Or Not IsNumeric(strN) Then
MsgBox "Error!" & Chr(10) & Chr(13) & "Введите число!", vbCritical, ""
Exit Sub
End If
P = (2.5 * N + M) / (N ^ 2 + M ^ 2) - (N * M) / ((N - M) ^ 2)
L = P - (N + M) ^ 2 - M / 10
MsgBox "P" & Format(P) & " L=" & (L)
End Sub
в итоге выскакивает ошибка Overflow

не знаю что может быть..
задание
Изображения
Тип файла: jpg z_439342b6.jpg (368.8 Кб, 117 просмотров)
Platon33 вне форума Ответить с цитированием
Старый 23.12.2011, 02:07   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Отличия найдете сами
Код:
Public Sub ExecDialog()

 Dim M As Single, N As Single
 Dim P As Single, L As Single
 Dim strM As String, strN As String
 Dim response
newInput:
 strM = InputBox("Введите M")
 strN = InputBox("Введите N")
 If Not IsNumeric(strM) Or Not IsNumeric(strN) Then
 MsgBox "Error!" & Chr(10) & Chr(13) & "Введите число!", vbCritical, ""
 Exit Sub
 End If
 M = CSng(strM): N = CSng(strN)
 P = (2.5 * N + M) / (N ^ 2 + M ^ 2) - (N * M) / ((N - M) ^ 2)
 L = P - (N + M) ^ 2 - M / 10
 MsgBox "P" & Format(P) & " L=" & (L)
 End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 23.12.2011, 02:08   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

видимо перед этим
P = (2.5 * N + M) / (N ^ 2 + M ^ 2) - (N * M) / ((N - M) ^ 2)
необходимо присвоить значения:
N = CSng(strN)
M = CSng(strM)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 23.12.2011, 02:11   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

)))
мы не сговаривались с Сергеем)))
ответил позже, потому что пью по инету с друзьями)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 23.12.2011, 02:16   #5
Platon33
Новичок
Джуниор
 
Регистрация: 23.12.2011
Сообщений: 2
По умолчанию

Ааай)))
спасибо большое))
вы можете наверно поставить себе галочку ещё один автомат студенту))
Platon33 вне форума Ответить с цитированием
Старый 23.12.2011, 02:25   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

я себе татуировку сделаю
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка Stack Overflow Dumacuk БД в Delphi 4 22.05.2011 21:29
при подсчете хеш-суммы ошибка Integer Overflow. как обойти? Человек_Борща Общие вопросы Delphi 2 09.02.2011 11:20
DelphiX. Странная ошибка - Stack Overflow Uxas Общие вопросы Delphi 7 08.06.2010 14:24
Ошибка Stack Overflow DimOn4Ik Общие вопросы Delphi 4 02.06.2010 11:18
Чем вызвана ошибка OVERFLOW? Maxx Microsoft Office Excel 8 27.08.2009 16:32