Страница 1 из 1
войти кликом внутрь цикла FOR
Добавлено: 26 мар 2013, 19:19
ZvezdinVK
Здравствуйте, Прошу помощи! В Excel 2007 в VBA работает цикл For i=….
Для каждого значения i нужно выбрать элемент мышкой из
таблицы Tabl на рабочем столе. Этот элемент ActiveCell в программе.
Он определяет дальнейшие вычисления.
Вопрос: как приостановить цикл для клика мышкой в таблице?
М.б. есть какой-нибудь объект?
Re: войти кликом внутрь цикла FOR
Добавлено: 26 мар 2013, 19:48
pashulka
Сделайте проще(умнее), либо предварительно выделите
все необходимые ячейки и вместо ActiveCell используйте Selection, разумеется, вкупе с необходимыми изменениями, либо откажитесь от цикла и вызывайте свой макрос, используя подходящее событие (на выбор : Worksheet_SelectionChange, Worksheet_BeforeDoubleClick)
Код: Выделить всё
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [A2:C10]) Is Nothing Then
'Здесь вызов необходимого макроса
End If
'Где диапазон A2:C10 это Ваш Table
End Sub
Re: войти кликом внутрь цикла FOR
Добавлено: 26 мар 2013, 20:03
pashulka
Или в теле цикла используйте, например, метод InputBox об'екта Application, т.е.
Код: Выделить всё
On Error Resume Next
Dim iCount%, iSource As Range
For iCount = 1 To 3
Set iSource = Application.InputBox("Выберите ячейку", Type:=8)
If Not iSource Is Nothing Then
MsgBox iSource.Address, , ""
'Здесь некие действия с этим об'ектом
Set iSource = Nothing
Else
MsgBox "Отказ от выбора", , ""
End If
Next