Cách tạo Form Hiển thị phần trăm hòan thành công việc (1 người xem)

  • Thread starter Thread starter tedaynui
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

tedaynui

(*_*)
Thành viên danh dự
Tham gia
12/8/06
Bài viết
1,875
Được thích
2,482
Xin giới thiệu một ví dụ nhỏ về cách tạo Percent Form để hiển thị phần trăm công việc thực hiện được

Đây là codes tạo Form hiển thị phần trăm hoàn thành của công việc xoá 3000 dòng

Clip-2.jpg

IMG%5D

PHP:
 Dim R As Long
   
  Sub Test()
  R = 3000
      Application.ScreenUpdating = False
      Load Remove
      Application.OnTime Now + TimeValue("00:00:01"), "DeleteRow"
      Remove.Show
      Application.ScreenUpdating = True
      MsgBox "Da xoa thanh cong " & R & " dong !", , "Tedaynui"
  End Sub
   
  Private Sub VPercent(ByVal Num%, ByVal Row%)
      Dim i%, S$
      S = "                      "
      S = S & WorksheetFunction.Round(Str(Num / Row * 100), 1) & "%"
      Remove.P3.Caption = S
      Remove.P2.Caption = S
      Remove.Label.Caption = "Dang xoa dong : " & Num
      Remove.P2.Width = Remove.P3.Width / Row * Num
      Remove.VFrame.Repaint
  End Sub
   
  Private Sub DeleteRow()
      For i = 1 To R
          Sheet1.Rows(R - i + 1).Delete
          VPercent i, R
      Next
      Unload Remove
  End Sub
   
  Sub Restore()
  Sheet1.Range("A1:A3000").Value = Sheet2.Range("A1:A3000").Value
  End Sub
Các bạn có thể download file ví dụ về tham khảo.


TDN
 

File đính kèm

Một cách khác là chúng ta có thể dùng Statusbar để thông báo tương tự như ví dụ trên.
Mã:
[COLOR=Black][COLOR=#000000][COLOR=#0000BB][/COLOR][/COLOR]
Sheet1.Rows(R-i+1).Delete
Application.StatusBar = i & "/" & R[/COLOR]
Tôi lại thích dùng Statusbar hơn.

Vbavn
 
Upvote 0
vbavn đã viết:
Một cách khác là chúng ta có thể dùng Statusbar để thông báo tương tự như ví dụ trên.
Mã:
[COLOR=Black]Sheet1.Rows(R-i+1).Delete
Application.StatusBar = i & "/" & R[/COLOR]
Tôi lại thích dùng Statusbar hơn.
Vbavn
Chào bạn,
Tất nhiên dùng Status bar vừa gọn vừa dễ dùng.
Mình xin nói thêm cách mình thường dùng khi thao tác với Status bar. Vì dòng lệnh Application.StatusBar sẽ làm thanh Status bar "mất tác dụng" luôn, nên trước khi dùng dòng lệnh này mình lưu trạng thái của nó để sau đó mình phục hồi lại như sau :
PHP:
Dim SStatus As Boolean

Private Sub SaveStatus()
   SStatus = Application.DisplayStatusBar
   Application.DisplayStatusBar = True
   Application.ScreenUpdating = False
   Application.Calculation = xlCalculationManual
End Sub

Private Sub RestoreStatus()
   Application.Calculation = xlCalculationAutomatic
   Application.ScreenUpdating = True
   Application.StatusBar = False
   Application.DisplayStatusBar = SStatus
End Sub

Sub TestV2()
SaveStatus
R = 3000
    For i = 1 To R
        Sheet1.Rows(R - i + 1).Delete
        Application.StatusBar = "Dang xoa dong " & i & "/" & R
    Next
RestoreStatus
End Sub
Cám ơn bạn đã bổ sung cho người dùng thêm sự lựa chọn.

TDN
 
Upvote 0
Hiển thị phần trăm công việc

Bạn Tedaynui viết về cáh hiển thị phần trăm công việc rất hay đúng phong cách chuyên nghiệp. bạn cho tôi hỏi : làm thế nào để lúc nào cũng chỉ hiện 1 form hoạt động thôi. vì tôi có nhiều form trong file cel (form1, form2, form 3...) nhưng trong lệnh để mở form1 thì tôi đóng form 2 nhưng nhưng form1 không tắt ?
 
Upvote 0
Ứng dụng Excel làm phần mềm tổ chức thi đấu quần vợt

Chương trình t chc thi đấu qun vt ver 2.1 - 2008
Gúp cho người điu hành gii đấu bc thăm xếp lch, in biên bn, tng hp thành tích cá nhân đim đội, đim đoàn. Nhanh chóng - chính xác - khoa hc.
Đã t chc nhiu gii đấu và được chnh sa.
Các bn dùng thđóng góp ý kiến

Dowload tại đây :
[FONT=.VnTime]http://www.mediafire.com/?dzzxndnlgtz[/FONT]
 
Lần chỉnh sửa cuối:
Upvote 0
Cho hỏi thêm về cách sử dụng biến có ký hiệu "%" và "$" phía sau

Chào các bạn
1/ Tôi muốn biết khi dùng các ký hiệu "%" và "$" sau các biến có ý nghĩa gì? ("i%" hoặc "S$".
2/ Trong thủ tục Vpercent có khai báo biến i% nhưng thực ra không dùng đến mà chỉ dùng trong thủ tục Delete. Như vậy thì cứ mỗi lần gọi thủ tục Vpercent thì lại 1 lần khởi tạo nó. Vậy ta có thể khai báo ở thủ tục Delete được không vì như vậy nó chỉ khởi tạo 1 lần duy nhất.
Cảm ơn sự giải thích của các bạn
 
Upvote 0
Trường hợp xoá 3000 dòng thì màu xanh chạy qua từ từ >>>100%, nhưng trong một phần mềm mình muốn xoá chỉ một record thôi (tức một dòng) mà vẫn nhìn thấy màu xanh chạy qua thật nhanh>>100%?
 
Upvote 0
Mình Down về nhưng chay báo lỗi S = S & WorksheetFunction.Round(Str(Num / Row * 100), 1) & "%"
Num=3, S=" ". Minh khônng biết sửa thế nào
 
Upvote 0
Vì câu lệnh với phép toán & chỉ dùng trên kiểu chuỗi, trong khi câu lệnh có cả chuỗi và số, vậy nên chỉnh thế này:

S = S & Str(WorksheetFunction.Round(Num / Row * 100, 1)) & "%"
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom