У меня есть макрокоманда для выполнения обрезки данных. Ниже мой код:Обновление строки состояния Excel в VBA Loop
Sub StatusBarExample()
Application.ScreenUpdating = False
Application.DisplayStatusBar = True
Application.StatusBar = "Trimming..."
Dim x As Long
x = 1
Do While Cells(x, 1) <> ""
Cells(x, 2).Select
ActiveCell.FormulaR1C1 = "=trim(RC[-1])"
x = x + 1
Loop
Application.Wait Now + TimeValue("00:00:02")
Application.StatusBar = False
End Sub
Количество данных постоянно меняется, поэтому я использую цикл Do While
. С помощью этого кода я могу видеть сообщение «Обрезка», не зная прогресса в процентах. Может ли кто-нибудь помочь мне улучшить этот код?
Посмотрите на обновление 'Application.StatusBar' с' x' для одного из способов сделать это. –
Забудьте о цикле и используйте '.range (.cells (1, 1), .cells (.rows.count, 1) .end (xlup)). Offset (0,1) .FormulaR1C1 =" = trim (RC [ -1]) «Пожалуйста, обратите внимание, что код, который я включил, ссылается на рабочий лист, определенный в [With ... End With statement] (https://msdn.microsoft.com/en-us/library/wc500chb.aspx). – Jeeped