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
Báo lỗi chỗ progress trong sub test thì chỉnh sao được anh
Trả lờiXóaNếu làm theo ví dụ thì chữ last bạn cần khai báo biến nhé
Xóa