помогите пожалуйста с макросом!!!

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
killnur
Сообщения: 1
Зарегистрирован: 10 дек 2009, 20:53

нужно чтобы по нажатию кнопки находилось решение функции и выдавало ее в два столбца(x и y) на заданном отрезке с заданным шагом...вот что у меня вышло...

Код: Выделить всё

Function calcF(ByVal x As Double) As Double
calcF = Evaluate(Replace(TextBoxF.Value, "x", Str(x)))
End Function


Private Sub paintgraph_click()
Dim x As Double
Range("A10, b100").Value = "  "
x = Val(TextBoxGA.Value)
i = 10
Do While x <= Val(TextBoxGB.Value)
Cells(i, 1) = x
Cells(i, 2) = calcF(x)
x = x + Val(TextBoxGH.Value)
i = i + 1
Loop
End Sub

проблема в том что он мне выдает одни и те же значенияx и y...ну то есть значение x в TextBoxGA и значение y для него...и так на протяжении 65536 строк....вместо положенных 100..в чем проблема???помогите пожалуйста...очень нужно((

ЗЫ:точнее 2 проблемы...как сделать чтобы выдавались разные значения учитывая шаг и чтоб они не уходили за 100 строк...???
dt01
Сообщения: 1
Зарегистрирован: 11 янв 2010, 11:27

Не совсем понятно, где запускается макрос, но вот такой макрос прекрасно работает в MS Excel:

Код: Выделить всё

Function calcF(ByVal x As Double) As Double
calcF = x * x
End Function

Private Sub paintgraph_click()
Dim x As Double
Range("A10, b100").Clear
x = CDbl(InputBox("Введите начальное значение", "Prog-100", 1))
y = CDbl(InputBox("Введите шаг", "Prog-100", 1))
i = 10
Do While i <= 100
  Cells(i, 1) = x
  Cells(i, 2) = calcF(x)
  x = x + y
  i = i + 1
Loop
End Sub
Функцию calcF измени сам.
Ответить