Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > macros for ms excel


Автор: xkodex 21.5.2005, 20:14
Я пишу Macros на Vb. Небольшая прога для поиска в таблице данных. В принципе всё OK. Но с меня потребовали чтобы во время работы макроса можно было рабоать и с самим ms excel"ем. Т.е. крутить скроллер, рабоать с ячейками...Но во время работы макроса активна только моя форма. А книга excel остаётся не активной и к ней не возможно обратиться. Что можно сделать?
Добавлено @ 20:15
---

Автор: -Mikle- 21.5.2005, 20:52
Ну во-первых форму нужно сделать не модальной или прятать ее на время работы твоей функции.

Во-вторых, в цикле поставить вызов DoEvents. Это немного замедлит работу цикла, но что поделаешь, надо выбирать. Ежли хотят и поиск и работу с листом, то пусть платят временем работы поиска smile

Код

For i = 1 to n
   if ......... then
   end if
   DoEvents
Next


Автор: Staruha 21.5.2005, 21:08
в дополнение к немодальной форме

Код

Private Sub CommandButton1_Click()
  UserForm2.Show vbModeless
End Sub

Автор: xkodex 21.5.2005, 23:39
Не модальной? Обязательно попробую! Спасибо smile Только можно пояснить что такое сделать не модальной? Mikle, у меня цикл не For, а Do. Циклом For невозможно отсортирвать найденый ячейки. А может DoEvents будет работать и с циклом Do? Ну конечно! Какая разница какой цикл! smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)