Повторно обновлять содержимое списка, сохраняя контроль пользователя - PullRequest
0 голосов
/ 10 января 2012

В VBA я постоянно обновляю содержимое списка со текстом постоянно растущего текстового файла.Есть ли способ позволить пользователю сохранять контроль (прокручивать список, нажимать кнопку), пока выполняется цикл, в котором я обновляю список?Альтернатива application.wait также будет работать;как в, обновление -> ждать х секунд (где пользователь все еще может делать вещи -> обновить снова -> повторить.

1 Ответ

1 голос
/ 11 января 2012

Вот начало. В обычный модуль вставьте этот код:

Sub ShowUserForm()
UserForm1.Show vbModeless
End Sub

Sub UpdateTextBox()
Dim ws As Excel.Worksheet

Set ws = ThisWorkbook.Worksheets(1)
With UserForm1.ListBox1
    .List = ws.Range("A1:A" & ws.Range("A" & ws.Rows.Count).End(xlUp).Row).Value2
    .ListIndex = .ListCount - 1
End With
Application.OnTime Now + TimeValue("00:00:5"), "UpdateTextBox"
End Sub

В вашей пользовательской форме вставьте этот код в событие UserForm_Activate:

UpdateTextBox

Обновляет значения из столбца А Листа 1 в рабочей книге с помощью кода.

Чтобы проверить это, запустите ShowUserForm.

...