/ / Excel VBA PropertyBar собственост

Собственост на

Най- PropertyBar собственост на обекта на приложението в Excel VBA може да се използва за посочване на напредъка на дълъг макрос. По този начин можете да позволите на потребителя да знае, че все още се изпълнява макрос.

Ситуация:

Макросът, който ще създадем, запълва Range ("A1: E20") с произволни номера.

Пример за собственост на Excel VBA StatusBar

Добавете следните кодови линии към командния бутон:

1. Първо, декларираме три променливи от тип Integer, наречени i, j и pctCompl.

Dim i As Integer, j As Integer, pctCompl As Integer

2. Добавете двойна линия.

For i = 1 To 20
    For j = 1 To 5

    Next j
Next i

Добавете следните кодови линии (на 3, 4 и 5) към бримката.

3. Използвайте функцията RandBetween, за да импортирате произволен номер между 20 и 100.

Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100)

4. Инициализирайте променливата pctCompl. Втората кодова линия записва стойността на променливата pctCompl и някакъв описателен текст в лентата на състоянието.

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importing Data.. " & pctCompl & "% Completed"

Пример: За i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11%.

5. Използваме метода на изчакване на обекта на приложение, за да симулираме продължителен макрос.

Application.Wait Now + TimeValue("00:00:01")

6. За да възстановите текста на лентата на състоянието по подразбиране, задайте свойството StatusBar на False (извън цикъла).

Application.StatusBar = False

Резултат, когато кликнете върху командния бутон на листа:

Резултат от собствеността на Excel VBA StatusBar

Забележка: Можете да прекъснете макрос по всяко време, като натиснете Esc или Ctrl + Break. За по-визуален подход вижте програмата ни за индикатор за напредъка.

Също така се чете: