Xin được giúp đỡ về vấn đề thời gian

Liên hệ QC

nthien_2004

Thành viên mới
Tham gia
9/5/07
Bài viết
10
Được thích
0
Tôi cần làm một quyển sổ nhật ký bạn đọc trong thư viện. Tôi đang gặp vướng mắc vấn đề làm sao lấy được ngày học sinh vào thư viện ở cột Ngày vào đọc. Nếu hôm nay là 6.1.2015, HS A vào đọc thì tôi lấy được ngày hiện tại nhưng nếu sang ngày hôm sau là 7.1.2015 thì tôi không biết làm thế nào để giữ lại số ngày hôm trước 6.1.2015. Mong các bạn giúp đỡ. Cảm ơn.
 

File đính kèm

Tôi cần làm một quyển sổ nhật ký bạn đọc trong thư viện. Tôi đang gặp vướng mắc vấn đề làm sao lấy được ngày học sinh vào thư viện ở cột Ngày vào đọc. Nếu hôm nay là 6.1.2015, HS A vào đọc thì tôi lấy được ngày hiện tại nhưng nếu sang ngày hôm sau là 7.1.2015 thì tôi không biết làm thế nào để giữ lại số ngày hôm trước 6.1.2015. Mong các bạn giúp đỡ. Cảm ơn.
Có lẽ bạn đang muốn nói đến hàm TODAY()? Nếu bạn sử dụng hàm này để lấy ngày hiện tại thì nó chỉ có giá trị phù hợp trong thời điểm đó thôi, bởi vì nó sẽ được tự động cập nhật theo ngày giờ hệ thống. Nếu bạn muốn giá trị tại cột Ngày vào đọc được lấy theo ngày hệ thống trên máy tính và giữ lại giá trị này thì không nên sử dụng hàm, có 2 phương án:
1. Thực hiện thủ công: Bạn nhấn tổ hợp phím Ctrl+; để điền ngày hệ thống vào ô hiện hành.
2. Sử dụng VBA với sự kiện Worksheet_Change để gán ngày hệ thống vào ô được chỉ định khi có sự thay đổi giá trị trên sheet. Chẳng hạn mỗi lần nhập Mã thẻ ở cột B thì sẽ điền ngày vào cột F. Theo phương án này, bạn có thể sử dụng code sau cho sheet HS:
[GPECODE=vb]Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cll As Range
If Intersect(Target, [B5:B1000]) Is Nothing Then Exit Sub
For Each Cll In Intersect(Target, [B5:B1000])
If IsEmpty(Cll) Then
Cll.Offset(, 4).ClearContents
Else
Cll.Offset(, 4) = Date
End If
Next
End Sub[/GPECODE]
 
Bạn lấy ngày hiện tại bằng cách nào?
 
Có lẽ bạn đang muốn nói đến hàm TODAY()? Nếu bạn sử dụng hàm này để lấy ngày hiện tại thì nó chỉ có giá trị phù hợp trong thời điểm đó thôi, bởi vì nó sẽ được tự động cập nhật theo ngày giờ hệ thống. Nếu bạn muốn giá trị tại cột Ngày vào đọc được lấy theo ngày hệ thống trên máy tính và giữ lại giá trị này thì không nên sử dụng hàm, có 2 phương án: 1. Thực hiện thủ công: Bạn nhấn tổ hợp phím Ctrl+; để điền ngày hệ thống vào ô hiện hành. 2. Sử dụng VBA với sự kiện Worksheet_Change để gán ngày hệ thống vào ô được chỉ định khi có sự thay đổi giá trị trên sheet. Chẳng hạn mỗi lần nhập Mã thẻ ở cột B thì sẽ điền ngày vào cột F. Theo phương án này, bạn có thể sử dụng code sau cho sheet HS: [GPECODE=vb]Private Sub Worksheet_Change(ByVal Target As Range) Dim Cll As Range If Intersect(Target, [B5:B1000]) Is Nothing Then Exit Sub For Each Cll In Intersect(Target, [B5:B1000]) If IsEmpty(Cll) Then Cll.Offset(, 4).ClearContents Else Cll.Offset(, 4) = Date End If Next End Sub[/GPECODE]



Xin chân thành cảm ơn sư giúp đỡ và giải thích của bạn
 
Web KT

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

Back
Top Bottom