Hỏi đáp mọi chủ đề liên qua đến công nghệ thông tin, internet, lập trình, SEO...
Nội quy chuyên mục: Hỏi đáp mọi chủ đề liên qua đến công nghệ thông tin, internet, lập trình, SEO...

- Chuyên nhận giải đáp thắc mắc sử dụng Word, Excel, Power Point

- Ai cần download driver hay Firmware cho máy tính máy in, thì vào đây nhé, tìm gì cũng có Driver 360

- Cập nhật tin tức với Mr Công nghệ tại đây
By angel_tien2000
#535902 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!

By cuopnganhang_duanangduhoc3000
#535940 Tuy là bài viết được post lâu rùi nhưng mính thấy câu hỏi rất hữu ích, có phải đáp án là hàm today() không các bạn?
By dang_hongky
#536093 không 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
By starmoonkieu
#536155 Bấm vào đây để đăng nhập và xem link!


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

By khoanguyen_1307_cindy
#536206 Bấm vào đây để đăng nhập và xem link!


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?
By cobecodon_972000
#536288

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!

By chaungocthylinh
#536322

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ờ.)

Kết nối đề xuất:
xe máy cũ tại Hà Nội
Advertisement
Advertisement