Tự động lấy ngày giờ hệ thống trong excel

nhatquyelec

Thành viên mới
Tham gia ngày
17 Tháng mười hai 2010
Bài viết
48
Được thích
2
Điểm
365
Tuổi
36
Nơi ở
Ancient city
Chào các bạn, tôi có một vấn đề như thế này trong excel :
Giả sử tôi có 4 cột A,B,C,D trong excel
tôi muốn khi tôi nhập dữ liệu vào 3 cột A,B,C thì cột thứ 4 - cột D sẽ tự động lấy ngày giờ của hệ thống hiển thị thời điểm mà tôi nhập dữ liệu vào 3 ô đó.
Tôi đã nhập vào cột D công thức sau : =IF(A1&B1&C1="","",TODAY())
nhưng nó hiện một dãy số : 40550 gì đó tùy thời điểm,
cái tôi muốn là nó hiển thị ngày giờ vd : 12/01/2011 8h30am
Có ai biết phương pháp làm xin chỉ giúp , cám ơn !
 

viehoai

GPE mỗi ngày
Tham gia ngày
22 Tháng năm 2009
Bài viết
2,595
Được thích
2,882
Điểm
860
Tuổi
47
Nơi ở
Thừa Thiên Huế
Chào các bạn, tôi có một vấn đề như thế này trong excel :
Giả sử tôi có 4 cột A,B,C,D trong excel
tôi muốn khi tôi nhập dữ liệu vào 3 cột A,B,C thì cột thứ 4 - cột D sẽ tự động lấy ngày giờ của hệ thống hiển thị thời điểm mà tôi nhập dữ liệu vào 3 ô đó.
Tôi đã nhập vào cột D công thức sau : =IF(A1&B1&C1="","",TODAY())
nhưng nó hiện một dãy số : 40550 gì đó tùy thời điểm,
cái tôi muốn là nó hiển thị ngày giờ vd : 12/01/2011 8h30am
Có ai biết phương pháp làm xin chỉ giúp , cám ơn !
Bạn nhập công thức tại D1
=if(counta(A1:C1)=3;now();"")
 

nhatquyelec

Thành viên mới
Tham gia ngày
17 Tháng mười hai 2010
Bài viết
48
Được thích
2
Điểm
365
Tuổi
36
Nơi ở
Ancient city
chào bạn tôi đã thử cách của bạn cũng chỉ là một cách viết khác cách của tôi thôi, tôi cũng đã thử nhưng nó cũng chỉ hiện một dãy số 40564 ( tùy thời điểm số này có thể khác ), nó là dạng số của thời gian
Vấn đề là ở đây làm sao biến dãy đó thành vd : 22/12/2011 8h30 ấy
Xin giúp đỡ, cám ơn !
 

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,372
Được thích
52,890
Điểm
11,910
chào bạn tôi đã thử cách của bạn cũng chỉ là một cách viết khác cách của tôi thôi, tôi cũng đã thử nhưng nó cũng chỉ hiện một dãy số 40564 ( tùy thời điểm số này có thể khác ), nó là dạng số của thời gian
Vấn đề là ở đây làm sao biến dãy đó thành vd : 22/12/2011 8h30 ấy
Xin giúp đỡ, cám ơn !
Trời... bạn không biết vào Format\Cells để định dạng lại sao? Cơ bản quá mà
 

halinh20

Thành viên mới
Tham gia ngày
21 Tháng một 2010
Bài viết
2
Được thích
0
Điểm
363
Tuổi
33
vào fomat địn dạng lại cái ô đó là date, rồi custom thành dd/mm/yy
 

quoc_huy1702

Thành viên hoạt động
Tham gia ngày
9 Tháng sáu 2011
Bài viết
132
Được thích
20
Điểm
370
Nơi ở
HCM
Mình cũng có yêu cầu giống bác chủ topic; đã thực hiện theo công thức trên nhưng gặp 1 số khó khăn như sau:

KHÓ KHĂN CỦA CÔNG THỨC HIỆN TẠI

KHI THAY ĐỔI GIÁ TRỊ NÀO TRONG SHEET GIÁ TRỊ TẠI Ô THỜI GIAN XÁC NHẬN TÌNH TRẠNG ĐƠN HÀNG CŨNG THAY ĐỔI THEO


YÊU CẦU

1.KHI CÓ GIÁ TRỊ TẠI Ô TÌNH TRẠNG ĐƠN HÀNG THÌ Ô XÁC NHẬN TÌNH TRẠNG ĐƠN HÀNG HIỂN THỊ NGÀY VÀ GIỜ XÁC NHẬN.

2.KHI GIÁ TRỊ TẠI Ô TÌNH TRẠNG ĐƠN HÀNG THAY ĐỔI THÌ NGÀY GIỜ ĐƯỢC CẬP NHẬT LẠI
 

File đính kèm

quoc_huy1702

Thành viên hoạt động
Tham gia ngày
9 Tháng sáu 2011
Bài viết
132
Được thích
20
Điểm
370
Nơi ở
HCM
Mình cũng xem qua mấy bài trước thấy chỉ có phương pháp xài VBA, vậy code VBA thế nào để giải quyết vấn đề này?
 

Ba Tê

Gội Rồi Mới Cạo
Tham gia ngày
5 Tháng năm 2009
Bài viết
11,490
Được thích
16,396
Điểm
1,860
Tuổi
61
Nơi ở
An Giang
Mình cũng xem qua mấy bài trước thấy chỉ có phương pháp xài VBA, vậy code VBA thế nào để giải quyết vấn đề này?
Dùng code này cho sheet1 thử xem:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B4:B9]) Is Nothing Then
    If Target.Rows.Count = 1 Then
        If Target = "" Then
            Target.Offset(, 1).Value = ""
        Else
            Target.Offset(, 1).Value = Now()
        End If
    End If
End If
End Sub
 

linhvn_vpc

Thành viên mới
Tham gia ngày
12 Tháng chín 2009
Bài viết
26
Được thích
2
Điểm
0
Cho em hỏi các bác 1 chút: Em muốn 1 cell hiện thị ra giờ hệ thống định dạng [h]:mm:ss. Em tìm hàm chi co today nhưng lại trả về cả ngày và giờ, không như mong muốn. Em sử dụng công thức =TIME(HOUR(TODAY()),MINUTE(TODAY()),SECOND(TODAY())) cũng không được.
 

logica

Thành viên thường trực
Tham gia ngày
27 Tháng mười một 2008
Bài viết
241
Được thích
253
Điểm
710
Nơi ở
Vĩnh Long
Cho em hỏi các bác 1 chút: Em muốn 1 cell hiện thị ra giờ hệ thống định dạng [h]:mm:ss. Em tìm hàm chi co today nhưng lại trả về cả ngày và giờ, không như mong muốn. Em sử dụng công thức =TIME(HOUR(TODAY()),MINUTE(TODAY()),SECOND(TODAY())) cũng không được.
Bạn tự tìm hiểu thêm về format\cell (bấm ^1). Nếu lười quá thì dùng hàm text thử xem:
 

vfw16117

Thành viên mới
Tham gia ngày
13 Tháng ba 2012
Bài viết
2
Được thích
1
Điểm
365
Dùng code này cho sheet1 thử xem:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B4:B9]) Is Nothing Then
    If Target.Rows.Count = 1 Then
        If Target = "" Then
            Target.Offset(, 1).Value = ""
        Else
            Target.Offset(, 1).Value = Now()
        End If
    End If
End If
End Sub
Mình cũng gặp phải vấn đề này, bạn có thể chỉ rõ hơn cách dùng đoạn code trên được không? Cảm ơn nhé!
 

smjler0109

Thành viên mới
Tham gia ngày
19 Tháng tám 2011
Bài viết
13
Được thích
1
Điểm
0
Tuổi
29
hiện tại mình cũng đang gặp phải tình trạng này hjz mình có 4 ô A B C D , mình đặt công thức tại ô D là nếu cả 3 ô A-B-C đều đúng thì ô D sẽ bằng ngày của hệ thống (ngày 12/1/2013). Nhưng mình muốn nó lấy được ngày hệ thống xong thì ngừng lại chứ sang ngày tiếp theo thì nó lại chuyển thành ngày (13/1/2013). các bác, các anh, các chị nào có thể giải quyết được thì chỉ giùm em được không ạ?
Thân!
 

nghiaphuc

Thành viên gạo cội
Thành viên danh dự
Tham gia ngày
25 Tháng chín 2009
Bài viết
5,732
Được thích
9,548
Điểm
910
Nơi ở
Ayun Pa - Gia Lai
hiện tại mình đang gặp phải tình trạng này hjz mình có 4 ô A B C D , mình đặt công thức tại ô D là nếu cả 3 ô A-B-C đều đúng thì ô D sẽ bằng ngày của hệ thống (ngày 12/1/2013). Nhưng mình muốn nó lấy được ngày hệ thống xong thì ngừng lại chứ sang ngày tiếp theo thì nó lại chuyển thành ngày (13/1/2013). các bác, các anh, các chị nào có thể giải quyết được thì chỉ giùm em được không ạ?
Thân & cảm ơn !
Muốn vậy thì đừng dùng hàm TODAY. Hoặc là tính toán xong Paste Values lại vị trí cũ, hoặc là sử dụng sự kiện WorkSheet_Change để gán ngày hệ thống vào cột D là được.
 

smjler0109

Thành viên mới
Tham gia ngày
19 Tháng tám 2011
Bài viết
13
Được thích
1
Điểm
0
Tuổi
29
nếu không dùng hàm today() thì có hàm khác có thể giải quyết được vấn đề của em không ạ, nếu paste values thì còn nói làm gì nữa ạ hjz
 

leonguyenz

Thành viên mới
Thành viên BQT
Moderator
Tham gia ngày
2 Tháng tám 2010
Bài viết
4,564
Được thích
7,993
Điểm
610
Nơi ở
Bình Dương
Không có công thức nào tự động Value giá trị dùm bạn được, trừ khi bạn dùng đến code (lập trình trong VBA).
 

smjler0109

Thành viên mới
Tham gia ngày
19 Tháng tám 2011
Bài viết
13
Được thích
1
Điểm
0
Tuổi
29
Không có công thức nào tự động Value giá trị dùm bạn được, trừ khi bạn dùng đến code (lập trình trong VBA).
rất cám ơn anh đã quan tâm và trả lời! vậy anh có thể cho em Code đó được không anh? chứ VBA thì em thực sự mù tịt hjz
 

leonguyenz

Thành viên mới
Thành viên BQT
Moderator
Tham gia ngày
2 Tháng tám 2010
Bài viết
4,564
Được thích
7,993
Điểm
610
Nơi ở
Bình Dương
rất cám ơn anh đã quan tâm và trả lời! vậy anh có thể cho em Code đó được không anh? chứ VBA thì em thực sự mù tịt hjz
Ghi lại thời gian sau 1 ô nhập liệu:
Alt+F11, coppy code:
[gpecode=vb]
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
With Range("A1:A100")
If Not Intersect(Target, .Cells) Is Nothing Then
If Target <> "" Then Target.Offset(, 1) = Now
End If
End With
End Sub[/gpecode]
Thử nhập giá trị bất kỳ vào vùng A1:A100
 

smjler0109

Thành viên mới
Tham gia ngày
19 Tháng tám 2011
Bài viết
13
Được thích
1
Điểm
0
Tuổi
29
Ghi lại thời gian sau 1 ô nhập liệu:
Alt+F11, coppy code:
[gpecode=vb]
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
With Range("A1:A100")
If Not Intersect(Target, .Cells) Is Nothing Then
If Target <> "" Then Target.Offset(, 1) = Now
End If
End With
End Sub[/gpecode]
Thử nhập giá trị bất kỳ vào vùng A1:A100
cảm ơn anh rất nhiều ạ, vậy anh cho em hỏi thêm là thêm điều kiện để cột B đó hiện thị ngày tháng thì phải sửa code sao vậy anh hj
 

leonguyenz

Thành viên mới
Thành viên BQT
Moderator
Tham gia ngày
2 Tháng tám 2010
Bài viết
4,564
Được thích
7,993
Điểm
610
Nơi ở
Bình Dương
cảm ơn anh rất nhiều ạ, vậy anh cho em hỏi thêm là thêm điều kiện để cột B đó hiện thị ngày tháng thì phải sửa code sao vậy anh hj
Thì cột B đã hiển thị ngày tháng rồi mà?
Ý bạn là sao?
Nếu bạn muốn ghi ngày tháng thôi thì vào trong code thay Now bằng Date
 

File đính kèm

Lần chỉnh sửa cuối:
Top Bottom