Nhập số nguyên để định dạng: Phút Giây và Sao (% giây). (2 người xem)

Liên hệ QC

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

Lại cảm phiền thêm lần nữa. Em cứ nghỉ là đồng hồ định dạng và chạy như thế để xếp hạng chắc có lẽ được, nhưng cuối cùng lại xếp hạng chưa được. Bây giờ có cách nào đồng hồ định dạng như vậy mà xếp hạng được luôn không sư phụ.
Cái này là tại bạn cố tình tự mình làm khó mình thôi. Giờ phút chuẩn không chịu xài lại cố biến nó thành text tào lao để cuối cùng hàm RANK không còn nhận ra được nó là cái khỉ khô gì ---> Lấy đâu mà xếp hạng
Tuy nhiên cũng không phải không có cách! Ta dùng thêm cột phụ... Tại cell B2, gõ công thức:
PHP:
=TIMEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"'''",""),"''","."),"'",":"))
Sẽ xếp hạng theo cột phụ này
--------------------
Cách khác nữa: Biến đổi trước trong code rồi mới gán xuống bảng tính ---> Bạn tự mình làm đi
 
Lần chỉnh sửa cuối:
Àh àh bị uẩn rồi. Nhằm nhằm. Sorry.

Bởi vậy chỉ cần chỉnh cái nút ghi lại như vầy:

Mã:
Private Sub CommandButton1_Click()
    With Sheet1.[A65536].End(xlUp)
        .Offset(1).Value = Label1.Caption
        .Offset(1, 1) = .Offset(, 1) + 1
    End With
End Sub

Vậy là xong rồi!
 
Lần chỉnh sửa cuối:
Cái này là tại bạn cố tình tự mình làm khó mình thôi. Giờ phút chuẩn không chịu xài lại cố biến nó thành text tào lao để cuối cùng hàm RANK không còn nhận ra được nó là cái khỉ khô gì ---> Lấy đâu mà xếp hạng
Tuy nhiên cũng không phải không có cách! Ta dùng thêm cột phụ... Tại cell B2, gõ công thức:
PHP:
=TIMEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"'''",""),"''","."),"'",":"))
Sẽ xếp hạng theo cột phụ này
--------------------
Cách khác nữa: Biến đổi trước trong code rồi mới gán xuống bảng tính ---> Bạn tự mình làm đi
Không phải đâu đại ca. Theo cái đồng hồ thể thao là nó như vậy đó trời. Chiều giờ bị rối quá nhưng cuối cùng thì được rồi. Một lần nữa chân thành cảm ơn nhiều.
Trong điện thoại di dông có cái đồng hồ bấm giờ đó.
 
Lần chỉnh sửa cuối:
Xí xí nha, cho sửa lại vụ này một chút! Không thôi bị lỗi (do có tiêu đề cột) lại la làng:

Mã:
Private Sub CommandButton1_Click()
    With Sheet1.[A65536].End(xlUp)
        .Offset(1).Value = Label1.Caption
        .Offset(1, 1) = [B][COLOR=#ff0000]Val([/COLOR].Offset(, 1)[COLOR=#ff0000])[/COLOR][/B] + 1
    End With
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Tôi thấy nếu dùng cái Timer này để nhập thời gian chạy, không biết máy mọi người thế nào, nhưng máy tôi mỗi lần chạy đầu tiên thường bị lỗi Solution và thoát Program. Vì thế, để đảm bảo không bị lỗi này, mọi thao tác đều thực hiện trên Form là chắc ăn nhất.

Với cải tiến nhỏ này, người dùng chỉ việc bấm vào nút "Show Timer" trên Sheet và khi Form hiện lên chỉ việc ENTER và ... ENTER hoặc gõ lên thanh SPACEBAR mà thôi (dĩ nhiên bạn vẫn dùng chuột để click vô tư).

Kiểu thao tác bằng click chuột sẽ chậm mất bao nhiêu phần trăm của giây, nên việc bấm nút ENTER hoặc SPACEBAR thì sẽ nhanh hơn nhiều!
 

File đính kèm

Lần chỉnh sửa cuối:
Không biết các bạn tải file về và chạy thử có thấy số giây của Timer bị chậm hơn so với số giây đồng hồ đo trên điện thoại không nhỉ? Mình thì không biết chỉnh chỗ nào cho tăng tốc và tăng tốc thế nào là chuẩn, chỉ có Thầy NDU mới hiểu nổi cái File của Thầy với cái hàm SetTimer này.
 
Lần chỉnh sửa cuối:
Không biết các bạn tải file về và chạy thử có thấy số giây của Timer bị chậm hơn so với số giây đồng hồ đo trên điện thoại không nhỉ? Mình thì không biết chỉnh chỗ nào cho tăng tốc và tăng tốc thế nào là chuẩn, chỉ có Thầy NDU mới hiểu nổi cái File của Thầy với cái hàm SetTimer này.
Sửa thành vầy thử xem:
PHP:
Public iT As Double
Sub StartTimer()
  StopTimer
  iT = Timer
  SetTimer Application.hwnd, 1, 10, AddressOf TimeProc
End Sub
PHP:
Function TimeProc()
  On Error Resume Next
  UserForm1.Label1.Caption = Replace(Evaluate("Text(" & (Timer - iT) / 86400 & ", ""mm' ss'' .00'''"")"), ".", "")
End Function
Tức bỏ hết tất cả các biến, chỉ chừa lại mỗi biến iT
Trong UserForm, ta cũng xóa luôn các dòng code có liên quan đến các biến đã xóa
-------------------
Lấy thời gian kiểu Real time thì không thể nào sai được
Ẹc... ẹc...
Lưu ý: Dấu chấm trong đoạn Replace(Evaluate("Text(" & (Timer - iT) / 86400 & ", ""mm' ss'' .00'''"")"), ".", "") có thể phải sửa thành dấu phẩy trên máy tính nào đó
 

File đính kèm

Web KT

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

Back
Top Bottom