Nhiều lúc chạy vòng lặp lớn nhìn cái excel chạy mà thấy mòn mỏi và không biết khi nào nó xong. Cảm giác lúc đó ức chế vô cùng, nhiều khi vội còn điên tiết hơn nữa.
Để thân thiện và dễ chịu hơn thì dùng một Progress bar cho nó chạy và hiển thị việc mình làm được bao nhiêu phần trăm. Bước 1: Tạo form làm Progress bar
- Tạo một form với tên là userfrom1 (nếu đặt tên khác thì phải sửa lại code cho phù hợp)
- Đổi caption của nó thành Progress Indicator (hoặc cái gì tùy thích)
- Caption = Xóa trống
- Height = 24
- Width = 204
Label 1:
- Name = Bar
- Backcolor = highlight
- width = 10
- height = 20
- Caption = xóa trống
- Name = Text
- Backstyle = 0 - fmBackstyleTransparent
- Caption = 0% Completed
- Height = 20
- Width = 72
Public Sub progress(pctCompl As Single)
UserForm1.Text.Caption = pctCompl & "% Completed"
UserForm1.Bar.Width = pctCompl * 2
DoEvents
End Sub
Bước 5: Áp dụng vào thực tế
Sub test()
Dim i As Long, last As Long
Dim pctCompl As Single
last = 110000
'show progress bar form
UserForm1.Show vbModeless
For i = 1 To last
'...
pctCompl = Int(i * 100 / last)
progress pctCompl
Next i
'close progress bar form
Unload UserForm1
End Sub
Bonus: Chỉnh vị trí hiển thị form theo sở thích của mình Nhấp đúp chuột vào form và dán đoạn code sau vào và sau đó cân chỉnh theo ý của mình
Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Top = Application.Top + 45
Me.Left = Application.Left + Application.Width - Me.Width - 25
End Sub
Đăng nhận xét