Nói chung là: Lấy số vừa gõ chia cho 24, định dạng cell theo mã "hh:mm:ss" là xongCho em hỏi có cách nào để khi em gõ
1.5 thành 1:30
2.5 thành 2:30
12.5 thành 12:30
không các anh chị
Trân trọng cảm ơn
Thêm nữa, nếu bạn gõ 1.61 có ra thành 2:01 và nếu là 0.99 có ra thành 1:33, hoặc 24,01; 23,61 thì có quay lại thành 0:01 không?Cho em hỏi có cách nào để khi em gõ
1.5 thành 1:30
2.5 thành 2:30
12.5 thành 12:30
không các anh chị
Trân trọng cảm ơn
Muc đích của em không có các giờ lẻ đó. Chí có 1:00, hoặc là 1:30 thôi, ..Nói chung là: Lấy số vừa gõ chia cho 24, định dạng cell theo mã "hh:mm:ss" là xong
Tuy nhiên tôi thắc mắc chút: Nếu bạn muốn 1:25 thì bạn sẽ gõ số.. bao nhiêu?
Muc đích của em không có các giờ lẻ đó. Chí có 1:00, hoặc là 1:30 thôi, ..
Cám ơn thầy nhiều
Private Sub Worksheet_Change(ByVal Target As Range)
Const cList = "A1:A20, C1:C20"
If Not Intersect(Target, Range(cList)) Is Nothing Then
If Target.Count > 1 Then Exit Sub
If Target <> "" And IsNumeric(Target) Then
If Target - 0.5 = Int(Target) Then Target = Int(Target) & ":" & 30
End If
End If
End Sub
Đúng là vậy.Theo mình, chuyện gỏ 1 số, muốn chuyển ra thành 1 số khác là không nên làm chút nào;
Nhanh khì chỉ nhanh cho bạn thôi; Người khác sẽ mù tịt hay chết dỡ, khi đụng chuyện!
Mình cho là đó là con dao 2 lưỡi, anh bạo gan mới nên xài!
Code chỉ cần đơn giản thế này thôi, đúng ý khổ chủ:Bạn tham khảo Code trong file này:
-Tôn trọng cách gõ của bạn: 1h00 gõ 1, 13h30 gõ 13.5
-Gõ sai hay ký tự sẽ =""
-Giả định cột A nhập mã thẻ, cột B giờ vào, cột C giờ ra,nếu không có mã thẻ thì không nhập giờ
Code áp cho sự kiện Selection_Change
Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target.Value) Then
Target.Value = "'" & Int(Target.Value) & ":" & Format((Target.Value - Int(Target.Value)) * 60, "00")
End If
End Sub
Code chỉ cần đơn giản thế này thôi, đúng ý khổ chủ:
Định dạng giá trị chuyển dạng text, nếu chuyển dữ liệu dạng số thì chịu cứng luôn, vì định dạng hh:mm sẽ chuyển giá trị sai!!!PHP:Private Sub Worksheet_Change(ByVal Target As Range) If IsNumeric(Target.Value) Then Target.Value = "'" & Int(Target.Value) & ":" & Format((Target.Value - Int(Target.Value)) * 60, "00") End If End Sub