angel_tien2000

New Member
các bạn cho em hỏi cái này xíu, trong excel 2007 em có 1 ô trống để nhập dữ liệu, nếu hôm nay em nhập dữ liệu vào thì tại 1 ô khác em muốn lưu ngày tháng năm vừa nhập dữ liệu đó. Mới đầu em tưởng dùng hàm now() lấy ngày/tháng/năm hiện tại là được nhưng khi em save file excel đó lại qua ngày hôm sau em mở lên thì nó bị thay đổi sang ngày hôm sau ;(. Em xem các hàm khác cũng không có khả quan. Anh/chị biết hàm nào có thể làm được như vậy không ? hay có đoạn code VBA nào cho em xin với ạ.

Thank anh/chị vừa quan tâm!

 
Now vừa không được thì Today càng không được!

Hôm nay mới thấy được bài này!

Mà không biết bạn ấy có cách giải quyết chưa
 

dang_hongky

New Member
ko xài vb thì xài Ctrl và ; để nhập trực tiếp ngày tháng Mình vừa thử seach google rùi, nhưng vẫn bó chiếu. chắc phải theo cách của bạn thui, hay tạo thêm một hàm mới cho nó, có ai biết tạo hàm không? Giúp help
 

starmoonkieu

New Member



chuột phải vào Sheet > View code, nhập vào

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 9 Then

Application.EnableEvents = False

Target.Offset(0, 1).Value = Date

Application.EnableEvents = True

End If

End Sub

ngày hiện tại sẽ được nhập ở cột I, ngày cố định sẽ được copy qua cột J
Target.column = 9 , 9 là số thứ tự của cột I

 



chuột phải vào Sheet > View code, nhập vào


ngày hiện tại sẽ được nhập ở cột I, ngày cố định sẽ được copy qua cột J
Target.column = 9 , 9 là số thứ tự của cột I Thanks bạn nhiều,nhưng mình nhập ở ô khác nhau(ví dụ ô A2) thì phải sửa lại số 9 trong chuỗi đó thành số 2 hả bạn? còn nữa,mình muốn ngày cố định trước,ngày không cố định sau được không?
 

Welcome to the Board!


You're looking for what's referred to as a Time/Date Stamp. Here's a start:


Private Sub Worksheet_Change(ByVal Target As Range)

' Code goes in the Worksheet specific module

Dim rng As Range

' Set Target Range, i.e. Range("A1, B2, C3"), or Range("A1:B3")

Set rng = Target.Parent.Range("I:I")

' Only look at single cell changes

If Target.Count > 1 Then Exit Sub

' Only look at that range

If Intersect(Target, rng) Is Nothing Then Exit Sub

' Action if Condition(s) are met (do your thing here)

' If the entry in Column I = 1 then put the Date Value in column J

' Change ",1" to move it elsewhere (i.e. 2 to goto K, -2 to goto G)

If Target.Value = 1 Then Target.Offset(, 1) = Date

End Sub


To use it right-click the sheet tab and select View Code, then paste the code in the window that opens on the right, then ALT+Q to exit back to Excel and try it.


Hope that helps,

Nghĩa là sao bạn, thanks trước nhe!

 

chaungocthylinh

New Member

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rng As Range

Set rng = Target.Parent.Range("I:I")

If Target.Count > 1 Then Exit Sub

If Intersect(Target, rng) Is Nothing Then Exit Sub

If Target.Value = 1 Then Target.Offset(, 1) = Date

End Sub

Đây là đoạn code sẽ chạy: khi bất kì cell nào của cột I được nhập số 1, thì dòng tương ứng ở cột J sẽ hiện ngày/tháng/năm (hay tháng/ngày/năm) hiện tại (không đổi).

Nếu bạn viết code như dưới đây thì khi dữ liệu bất kì cell nào của cột I thay đổi, thì dòng tương ứng ở cột J sẽ hiện ngày/tháng/năm hiện tại (không đổi). Đây chính là điều bạn thuytram47 muốn hỏi

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rng As Range

Set rng = Target.Parent.Range("I:I")

If Intersect(Target, rng) Is Nothing Then Exit Sub

If Target.Value <> "" Then Target.Offset(, 1) = Date

End Sub

- Bạn có thể thay Range("I:I") bằng địa chỉ cell (VD: Range("A1") thì B1 sẽ hiện DATE.

- Then Target.Offset(, 1) = Date có nghĩa "Ô sát ô nguồn sẽ hiện DATE".

- Bạn có thể thay DATE bằng NOW để hiện cả ngày giờ (Bạn nên kéo rộng lớn ô thông báo để hiện đủ ngày, giờ.)

 

disney_showroom

New Member
Xin Thank các bạn nhe! mình vừa làm được rùi! nhưng mình vẫn còn băn khoăn một điều, khi mình đem file excel này sẻ chia sang một máy khác, nhưng máy đó không cái sẵn đoạn code này, nó có chịu hiện hiện như bình thường không các bạn?!!!
 

eugenie_1304

New Member
Xin Thank các bạn nhe! mình vừa làm được rùi! nhưng mình vẫn còn băn khoăn một điều, khi mình đem file excel này sẻ chia sang một máy khác, nhưng máy đó không cái sẵn đoạn code này, nó có chịu hiện hiện như bình thường không các bạn?!!! Nến bạn lưu code trong sheet thì vẫn mở bình thường trên máy khác- dĩ nhiên Excel máy đó phải được bật chế độ cho phép chạy macro.
 

vanganhmm_52

New Member
Nến bạn lưu code trong sheet thì vẫn mở bình thường trên máy khác- dĩ nhiên Excel máy đó phải được bật chế độ cho phép chạy macro. ok, thanks bạn rất nhiều!!!!!
 

Các chủ đề có liên quan khác

Top