Страницы: 1
RSS
Ошибка с макросом при изменении данных на листе, Ошибка Out of stack space при выполнении макроса с завязкой на изменение на листе
 
Добрый день, уважаемые!
Вылетает ошибка Out of stack space при размещении его на листе с завязкой на выполнение при какого либо изменении на листе (хотя расчет проходит, расчетное значение получено).
Если макрос отдельно вынести в модуль и ручками запуска, то проблем не возникает, в чем может быть причина?
Хотелось бы что бы макрос автоматически считал при изменении двух третье число.
 
Макрос должен быть в модуле Лист1
Код
Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("B1:B2")) Is Nothing Then
   Application.Calculation = xlCalculationManual
   Application.EnableEvents = False
Dim m_pr, s_pr, d_pr, eq_f, eq_s As Single
  m_pr = Range("B1")
  s_pr = Range("B2")
  d_pr = 0
  Do Until eq_f < eq_s
    d_pr = d_pr + 0.01
    eq_f = m_pr / d_pr
    eq_s = 1.3 * d_pr / s_pr
    If eq_f < eq_s Then Exit Do
  Loop
     Range("B3") = d_pr
   Application.EnableEvents = True
   Application.Calculation = xlCalculationAutomatic
  End If
End Sub

При таком объявлении переменных, как у вас
Код
Dim m_pr, s_pr, d_pr, eq_f, eq_s As Single

Только eq_s As Single, остальные будут Variant
 
Kuzmich, Благодарю!
Страницы: 1
Наверх