Разбираю задачу в которой нужно выполнить табулирование на множестве значений аргументов от 0 до R с шагом его изменения равным 0,5. Количество точек m=11. При нажатии на кнопку "Вычислить" происходит "Закрытие Эксель".
Код
Private Sub CommandButton1_Click()
Dim a, b, h, m As Single
a = Val(TextBox1.Text)
h = Val(TextBox2.Text)
m = Val(TextBox3.Text)
b = h * (m - 1) + a
Debug.Print "x", "y"
For x = a To b Step h
y = (x * x * x * x + 3) * Sin(6 * x)
Debug.Print x, y
Next x
End Sub
Val лучше убрать, поскольку он не правильно преобразует числа с запятой, при этом шаг цикла (h) получается равным нулю и цикл становится безкончным что вызывает зависание и сбой.
Код
Private Sub CommandButton1_Click()
Dim a, b, h, m As Single
a = TextBox1.Text
h = TextBox2.Text
If h <> 0 Then Else Exit Sub
m = TextBox3.Text
b = h * (m - 1) + a
Debug.Print "x", "y"
For x = a To b Step h
y = (x * x * x * x + 3) * Sin(6 * x)
Debug.Print x, y
Next
End Sub
Я уже как-то писал - изучайте инструменты отладки кода. Пошаговый проход кода, точки останова, просмотр значений переменных в окнах Local и Watch и т.п.
Согласие есть продукт при полном непротивлении сторон