Страницы: 1
RSS
Статус выполнения макроса
 
Можно ли сделать так, чтобы при запуске макроса открывалось окошко с текстовым полем, а в него выводить текст, который заранее вставить в тело макроса, чтобы понимать, какая часть макроса выполняется
 
Есть стандартный простой путь - почитайте про Application.StatusBar
 
Статус бар - это не столь информативно
 
Вот я создал юзерформ и вставил туда тексбокс. Как из макроса вывести эту юзерформу и в текстбокс добавлять текст?
 
Sub Macro3()  
UserForm1.Show  
UserForm1.TextBox1.Text = "Your Message"  
End Sub  
 
Не работает
 
Sub Macro3()  
   UserForm1.Show 0  
   For i = 1 To 1000  
       UserForm1.Repaint  
       UserForm1.TextBox1.Text = "Your Message " & i  
   Next  
End Sub  
 
И заметьте - как долго тянется цикл...
 
Хотя вот так вполне приемлимо.  
А Label можно и по феншую нарисовать :)  
 
 
Sub Macro3()  
   UserForm1.Show 0  
   UserForm1.Label1.Caption = "Stage 1 "  
   UserForm1.Repaint  
   For i = 1 To 100000000  
   Next  
 
   UserForm1.Label1.Caption = "Stage 2 "  
   UserForm1.Repaint  
   For i = 1 To 100000000  
   Next  
 
   UserForm1.Repaint  
   UserForm1.Label1.Caption = "End Of All"  
End Sub
 
Сам как-то не по-феншую сделал...  
 
 
Sub Macro3()  
   With UserForm1  
       .Show 0  
       .Label1.Caption = "Stage 1 "  
       .Repaint  
       For i = 1 To 100000000  
       Next  
 
       .Label1.Caption = "Stage 2 "  
       .Repaint  
       For i = 1 To 100000000  
       Next  
 
       .Repaint  
       .Label1.Caption = "End Of All"  
   End With  
End Sub
 
А как в несколько строк выводить все стадии подряд?
 
А поискать в интернете религия не позволяет?  
http://excelvba.ru/tools/ProgressIndicator
 
Можно нарисовать несколько Лабел.  
Можно в одном дополнять текст с переводом строки:  
 
       .Label1.Caption = "Stage 1" & vbNewLine & "Stage 2"  
 
Игорь - сделанное своими руками приятнее :)
Страницы: 1
Читают тему
Наверх
Loading...