СообЧа > База Знаний > Программы > MS Excel

Вопрос

Стоит следующая задача:

из внешнего истоника в определенную ячейку экселя поступает периодически изменяющееся значение. Надо в соседней ячейке формировать некое число (видимо, с помощью SpinButton) равное исходному значению плюс-минус некое количество шагов.

Например, исходное значение равно 4.016, тогда нажатие на стрелку вверх у SpinButton должно давать в заданной ячейке значения 4.017, 4.018 и т.д. Размер шага можно задать или в макросе или, что было бы элегантнее, брать из рядом расположенного текстового окна.

Ответ

Создать спин-кнопку SpinButton1 на листе и добавить следующие процедуры к листу.

Здесь подразумевается, что начальное значение в ячейке А1, шаг — В2, решение в В1.

Private Sub SpinButton1_SpinDown() ' уменьшает решение на шаг по нажатию спин-вниз
ActiveSheet.Cells(1, 2).Value = ActiveSheet.Cells(1, 2).Value —
ActiveSheet.Cells(2, 2).Value
End
Sub
Private
Sub
SpinButton1_SpinUp() ' добавляет шаг к решению по нажатию спин-вверх
ActiveSheet.Cells(1, 2).Value = ActiveSheet.Cells(1, 2).Value +
ActiveSheet.Cells(2, 2).Value
End
Sub
Private
Sub
Worksheet_Activate() ' переносится значение из исходной ячеки в решение при активации листа.
ActiveSheet.Cells(1, 2).Value = ActiveSheet.Cells(1, 1).Value
End Sub


Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация