Cách hiển thị thời gian trong Excel (1 người xem)

Liên hệ QC

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

lhtrang0508

Thành viên mới
Tham gia
8/5/13
Bài viết
3
Được thích
0
Em có một bài tập như sau :
Khi click "OK " ở C6 thì C7 hiển thị thời gian tại thời điểm cilck "OK" nhưng thời gian này không được thay đổi khi tắt file Excel đi
VD: Em dùng hàm if=(C6="OK",Now()) thì C7 có hiển thị giờ OK .Nhưng khi tắt file Excel đi bật lai thì C7 lại nhảy dữ liệu giờ khác ( thời điểm bật lại máy ) .Em muốn là dữ liệu giờ này được giữ nguyên
Anh chị giúp em với !
 

File đính kèm

Em có một bài tập như sau :
Khi click "OK " ở C6 thì C7 hiển thị thời gian tại thời điểm cilck "OK" nhưng thời gian này không được thay đổi khi tắt file Excel đi
VD: Em dùng hàm if=(C6="OK",Now()) thì C7 có hiển thị giờ OK .Nhưng khi tắt file Excel đi bật lai thì C7 lại nhảy dữ liệu giờ khác ( thời điểm bật lại máy ) .Em muốn là dữ liệu giờ này được giữ nguyên
Anh chị giúp em với !
Cái này mình nghĩ rằng chỉ có thể làm bằng VBA thôi. Hỏng biết có ai có cao kiến khác hay không.
Gởi file này cho bạn tham khảo
 

File đính kèm

Lần chỉnh sửa cuối:
Khi em mở att file của anh thì không thấy chạy gì cả
vaf em muốn nhập OK vào các ô C6 đến T6 thì thứ tự tương ứng từ C7 đến T7 là hiện giờ
 
Khi em mở att file của anh thì không thấy chạy gì cả
vaf em muốn nhập OK vào các ô C6 đến T6 thì thứ tự tương ứng từ C7 đến T7 là hiện giờ
Bạn có khái niệm về macro chưa? Phải Enable macro mới hoạt động được chứ.
 
Em có một bài tập như sau :
Khi click "OK " ở C6 thì C7 hiển thị thời gian tại thời điểm cilck "OK" nhưng thời gian này không được thay đổi khi tắt file Excel đi
VD: Em dùng hàm if=(C6="OK",Now()) thì C7 có hiển thị giờ OK .Nhưng khi tắt file Excel đi bật lai thì C7 lại nhảy dữ liệu giờ khác ( thời điểm bật lại máy ) .Em muốn là dữ liệu giờ này được giữ nguyên
Anh chị giúp em với !

Bài này lúc trước mình cũng nhờ anh quanghai giúp giùm mình bằng VBA đó. Bạn coi thử file gửi nhé. Nhập dữ liệu cột A thì cột F hiễn thị thời gian và thời gian đấy là không đổi. Thân.
 

File đính kèm

Bài này lúc trước mình cũng nhờ anh quanghai giúp giùm mình bằng VBA đó. Bạn coi thử file gửi nhé. Nhập dữ liệu cột A thì cột F hiễn thị thời gian và thời gian đấy là không đổi. Thân.

Ui da, code trong file không phải của tui nha. Nhìn code thì biết liền. Tui không có xét duyệt bằng cái vòng lặp đó nha. Và cách khai báo cũng rõ ràng hơn tui nhiều. Máy tính tui thuộc dạng siêu tốc độ nên làm biến khai báo tường minh lắm. Cứ giao cho bộ nhớ tự xử. Đây là cái tật xấu.

Hôm nay CN nên spam chút.
 
Ui da, code trong file không phải của tui nha. Nhìn code thì biết liền. Tui không có xét duyệt bằng cái vòng lặp đó nha. Và cách khai báo cũng rõ ràng hơn tui nhiều. Máy tính tui thuộc dạng siêu tốc độ nên làm biến khai báo tường minh lắm. Cứ giao cho bộ nhớ tự xử. Đây là cái tật xấu.

Hôm nay CN nên spam chút.

Ặc ặc tại nhớ cái tên của anh (chắc ấn tượng hihi). Em xin phép đính chính là code này do anh nghĩa phúc chỉ giáo. Thành thật xin lỗi anh Nghĩa Phúc vì đã trích dẫn tác giả sai +-+-+-+
 
Có ai cao thủ về code giúp đỡ em với:
Khi click "OK " ở C6 thì C7 hiển thị thời gian tại thời điểm cilck "OK" nhưng thời gian này không được thay đổi khi tắt file Excel.
"Nếu bây giờ tại ô C6 có công thức thì làm thế nào để khi C6 lớn hơn 0 thì C7 ghi lại thời gian đó".
Rất mong các cao thủ hồi âm-0-/..
 
Có ai cao thủ về code giúp đỡ em với:
Khi click "OK " ở C6 thì C7 hiển thị thời gian tại thời điểm cilck "OK" nhưng thời gian này không được thay đổi khi tắt file Excel (Được sự giúp đỡ của các bạn minh đã làm được rồi). Song còn một số vấn đề cần giúp đỡ:
"Nếu bây giờ tại ô C6 có công thức thì làm thế nào để khi C6 lớn hơn 0 thì C7 ghi lại thời gian đó".
"Việc cộng, trừ thời gian khi một ô nhập thời gian tự động và một ô nhập bằng tay bị lỗi
Rất mong các cao thủ hồi âm-0-/.. Xin cám ơn các bạn.}}}}}}}}}}}}}}}
Cái này cần gì cao thủ hả bạn, bạn không đưa file nên mình chỉ nói cách làm: kiểm tra property HasFormula và Value của Range("C6") để xem nếu có công thức và giá trị>0 thì ghi thời gian vào C7.
 
Cái này cần gì cao thủ hả bạn, bạn không đưa file nên mình chỉ nói cách làm: kiểm tra property HasFormula và Value của Range("C6") để xem nếu có công thức và giá trị>0 thì ghi thời gian vào C7.

Bạn giúp minh nhé:

Hiện nay minh quản lý một số máy tính, mỗi người vào sử dụng máy tính đều có mã thẻ (số thẻ minh thể hiện trên cột C). Minh muốn sao cho khi ra, mình chỉ cần check mã thẻ tại ô J5 thì thời gian ra sẽ được tự động ghi vào ô tương ứng của người sử dụng máy đó. Như VD thì thời gian phải được ghi vào ô G7 (mình đã làm được như trong bảng rồi, nhưng khi giá trị của ô thay đổi thì thời gian không được ghi lại).
Bạn giúp minh nhé. Cám ơn nhiều
 

File đính kèm


Bạn giúp minh nhé:

Hiện nay minh quản lý một số máy tính, mỗi người vào sử dụng máy tính đều có mã thẻ (số thẻ minh thể hiện trên cột C). Minh muốn sao cho khi ra, mình chỉ cần check mã thẻ tại ô J5 thì thời gian ra sẽ được tự động ghi vào ô tương ứng của người sử dụng máy đó. Như VD thì thời gian phải được ghi vào ô G7 (mình đã làm được như trong bảng rồi, nhưng khi giá trị của ô thay đổi thì thời gian không được ghi lại).
Bạn giúp minh nhé. Cám ơn nhiều
Mình thấy code của bạn vẫn chạy đúng. Bạn cần chú ý worksheet_change không chạy khi ô thay đổi do công thức, chỉ chạy khi người dùng thay đổi bằng vba hoặc thủ công. Khi cột E xuất hiện ô "Mời xác nhận", người dùng xác nhận bằng cách xóa hoặc sửa ô đó thì giờ sẽ được lưu vào cột Giờ ra.
 
Mình thấy code của bạn vẫn chạy đúng. Bạn cần chú ý worksheet_change không chạy khi ô thay đổi do công thức, chỉ chạy khi người dùng thay đổi bằng vba hoặc thủ công. Khi cột E xuất hiện ô "Mời xác nhận", người dùng xác nhận bằng cách xóa hoặc sửa ô đó thì giờ sẽ được lưu vào cột Giờ ra.

Không có cách nào làm tự động được hả bạn?//////////////////
 

Bạn giúp minh nhé:

Hiện nay minh quản lý một số máy tính, mỗi người vào sử dụng máy tính đều có mã thẻ (số thẻ minh thể hiện trên cột C). Minh muốn sao cho khi ra, mình chỉ cần check mã thẻ tại ô J5 thì thời gian ra sẽ được tự động ghi vào ô tương ứng của người sử dụng máy đó. Như VD thì thời gian phải được ghi vào ô G7 (mình đã làm được như trong bảng rồi, nhưng khi giá trị của ô thay đổi thì thời gian không được ghi lại).
Bạn giúp minh nhé. Cám ơn nhiều
Bạn thử với code này ( code này trên DĐ)
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cll As Range
    If Intersect(Target, [C:C]) Is Nothing Then Exit Sub
    For Each Cll In Intersect(Target, [C:C])
        If Cll <> "" Then
            Cll.Offset(, 3) = Format(Now, "hh:mm AM/PM")
        Else
            Cll.Offset(, 3).ClearContents
        End If
    Next
End Sub
 
Bạn thử với code này ( code này trên DĐ)
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cll As Range
    If Intersect(Target, [C:C]) Is Nothing Then Exit Sub
    For Each Cll In Intersect(Target, [C:C])
        If Cll <> "" Then
            Cll.Offset(, 3) = Format(Now, "hh:mm AM/PM")
        Else
            Cll.Offset(, 3).ClearContents
        End If
    Next
End Sub
Code này không được bạn ak. Cám ơn bạn đã quan tâm/-*+//-*+//-*+/
 
Kg biết kg được ở điểm nào? Sau này bạn nên nói rỏ hơn!
Hiện nay minh quản lý một số máy tính, mỗi người vào sử dụng máy tính đều có mã thẻ (số thẻ minh thể hiện trên cột C). Minh muốn sao cho khi ra, mình chỉ cần check mã thẻ tại ô J5 thì thời gian ra sẽ được tự động ghi vào ô tương ứng của người sử dụng máy đó. Như VD thì thời gian phải được ghi vào ô G7 (mình đã làm được như trong bảng rồi, nhưng khi giá trị của ô thay đổi thì thời gian không được ghi lại).
 

File đính kèm

Hiện nay minh quản lý một số máy tính, mỗi người vào sử dụng máy tính đều có mã thẻ (số thẻ minh thể hiện trên cột C). Minh muốn sao cho khi ra, mình chỉ cần check mã thẻ tại ô J5 thì thời gian ra sẽ được tự động ghi vào ô tương ứng của người sử dụng máy đó. Như VD thì thời gian phải được ghi vào ô G7 (mình đã làm được như trong bảng rồi, nhưng khi giá trị của ô thay đổi thì thời gian không được ghi lại).
Bạn thêm code này vào sheet 01(2):
Mã:
Private Sub Worksheet_Calculate()
    Dim n&
    On Error GoTo thoat
    n = Application.WorksheetFunction.Match(Range("J5").Value, Columns("C"), 0)
    Cells(n, 7) = Format(Now, "hh:mm")
thoat:
End Sub
Bạn cần chú ý xét các điều kiện để tránh trùng mã thẻ ở cột C. Code mình làm để bổ sung theo ý bạn thôi.
Lần đầu tiên mình thấy công thức VLOOKUP ở cột E lạ thế, tưởng sai mà vẫn chạy tốt.
 
Bạn thêm code này vào sheet 01(2):
Mã:
Private Sub Worksheet_Calculate()
    Dim n&
    On Error GoTo thoat
    n = Application.WorksheetFunction.Match(Range("J5").Value, Columns("C"), 0)
    Cells(n, 7) = Format(Now, "hh:mm")
thoat:
End Sub
Bạn cần chú ý xét các điều kiện để tránh trùng mã thẻ ở cột C. Code mình làm để bổ sung theo ý bạn thôi.
Lần đầu tiên mình thấy công thức VLOOKUP ở cột E lạ thế, tưởng sai mà vẫn chạy tốt.
Cám ơn bạn rất nhiều. OK rồi. Nhưng không hiểu sao cứ chạy code này là lại treo máy. Bạn có thể kiểm tra lại giúp mình được không (Máy thông báo như thế này).
Loi.png
Công thức VLOOKUP dài như thế để không bị hiển thị #REF đó thôi
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom