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

Liên hệ QC
Làm đủ mọi cách nhưng vẫn ko được các bác ợ. khi nhập xong tất cả đều trở về ngày hiện tại của hệ thống chứ không lưu được thời gian của từng thời điểm nhập dữ liệu. _)()(-
Bạn xem File này đúng ý không. Trong File hãy nhập liệu vào vùng [A6:E7] nha
 

File đính kèm

  • Nhờ các bác giúp em với! Em cảm ơn.xls
    36.5 KB · Đọc: 49
- Cái code đây:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C4:C1000]) Is Nothing Then
    If Target.Rows.Count = 1 Then
        If Target.Value <> Empty Then
            Target.Offset(, -2).Value = "=max(R3C1:R[-1]C1)+1"
            Target.Offset(, -1).Value = Date
        Else
            Target.Offset(, -2).Resize(, 2).ClearContents
        End If
    End If
End If
End Sub
- Hướng dẫn đây: Chỉ nhập từ C4:C1000, mỗi lần nhập hoặc xoá 1 ô code mới hoạt động.
- File đây:

anh cho em hỏi nếu thêm giờ và phút nữa thì phải làm thế nào ạ ? em cảm ơn ạ
 
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

Bạn ơi cho mình hỏi, có cách nào thay vì sửa dữ liệu hay thêm mới thì ngày tháng tự cập nhật thay vào đó là tạo một button khi sửa dữ liệu xong bấm nút thì mới cập nhật ngày tháng, vì nếu khi sửa hay nhập mà chạy code thì sẽ không undo lại được
 
Private Sub Worksheet_Change(ByVal Target As Range)
Set rng = Intersect(Target, Range("G:G"))
If Not rng Is Nothing Then
Application.EnableEvents = True
For Each cell_ In rng
If cell_.Value <> "" Then
cell_.Offset(, -1).Value = Now
Else
cell_.Offset(, -1).Value = ""
End If
Next cell_
Application.EnableEvents = True
End If
End Sub

em có đoạn code tự động nhập thời gian vào F khi có dữ liệu nhập vào từ ô G
Nhưng khi e xóa ô F và G theo điều kiện thì ngày tháng tính sau ô bị xóa nó tiến lên nằm ngay ô bị xóa và thời gian được cập nhật lại làm sai dữ liệu của e. Mong mọi người giúp e sửa. em cảm ơn mọi người trước
( cụ thể khi chọn 1 sản phẩm trong listbox và bấm chọn "xuất kho" thì thời tại sheet2 sẽ thị thay đổi )
 

File đính kèm

  • Book1QN.xlsm
    44.9 KB · Đọc: 14
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!
Mình cần công thức theo ngày như của bạn bạn cho mình xin đc ko
 
- Cái code đây:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C4:C1000]) Is Nothing Then
    If Target.Rows.Count = 1 Then
        If Target.Value <> Empty Then
            Target.Offset(, -2).Value = "=max(R3C1:R[-1]C1)+1"
            Target.Offset(, -1).Value = Date
        Else
            Target.Offset(, -2).Resize(, 2).ClearContents
        End If
    End If
End If
End Sub
- Hướng dẫn đây: Chỉ nhập từ C4:C1000, mỗi lần nhập hoặc xoá 1 ô code mới hoạt động.
- File đây:


Anh Ba Tê cho em hỏi: em áp dụng đoạn code của anh thấy ok lắm, nhập dữ liệu thì ô thời gian sẽ tự nhảy, khi xóa dữ liệu đi thì ô thời gian cũng bị cleared. Nhưng nếu như tại vùng dữ liệu, em không gõ dữ liệu vào mà xài một hàm excel, ví dụ vlookup, if,..., để lấy dữ liệu từ vùng khác, ví dụ vùng X, thì lúc dữ liệu tại vùng X đổi làm giá trị ở vùng dữ liệu đổi thì macro không tự cập nhật theo. Nếu muốn macro cập nhật, em phải vào từng cell trong vùng dữ liệu, edit, enter thì giá trị ngày tháng mới cập nhật.
Anh có cách nào để khắc phục vấn đề này không?
 
Cho em hỏi. nếu trong 1 sheet em có 2 cột tự động nhập ngày tháng năm và giờ tương ứng với 2 cột nhập liệu thì em phải làm sao?. Em cám ơn các bác
 
Cho em hỏi. nếu trong 1 sheet em có 2 cột tự động nhập ngày tháng năm và giờ tương ứng với 2 cột nhập liệu thì em phải làm sao?. Em cám ơn các bác
Bạn cần nêu vấn đề cụ thể hơn với các cột A,B,C..., nêu rõ là có đầu vào thế này, cần đầu ra thế này..
 
Bạn cần nêu vấn đề cụ thể hơn với các cột A,B,C..., nêu rõ là có đầu vào thế này, cần đầu ra thế này..
Nhu file mình gửi nếu mình nhập vào cột C thì cột D sẽ hiện ra ngày thang nam và giờ, Nếu mình nhập liệu vào cột G thì cột e sẽ hiện ra ngày thang nam và giờ
 

File đính kèm

  • theo doi gio.xlsx
    11.5 KB · Đọc: 24
Nhu file mình gửi nếu mình nhập vào cột C thì cột D sẽ hiện ra ngày thang nam và giờ, Nếu mình nhập liệu vào cột G thì cột e sẽ hiện ra ngày thang nam và giờ
Thử:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C3:C1000")) Is Nothing Then
        If Target.Count = 1 Then
            If Target <> Empty Then
                Target.Offset(, 1) = Now
            Else
                Target.Offset(, 1).ClearContents
            End If
        End If
    End If
    If Not Intersect(Target, Range("G3:G1000")) Is Nothing Then
        If Target.Count = 1 Then
            If Target <> Empty Then
                Target.Offset(, -2) = Now
            Else
                Target.Offset(, -2).ClearContents
            End If
        End If
    End If
End Sub
 
Thử:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C3:C1000")) Is Nothing Then
        If Target.Count = 1 Then
            If Target <> Empty Then
                Target.Offset(, 1) = Now
            Else
                Target.Offset(, 1).ClearContents
            End If
        End If
    End If
    If Not Intersect(Target, Range("G3:G1000")) Is Nothing Then
        If Target.Count = 1 Then
            If Target <> Empty Then
                Target.Offset(, -2) = Now
            Else
                Target.Offset(, -2).ClearContents
            End If
        End If
    End If
End Sub

Em cám ơn bác, em đã làm được.
 
Các bác ơi giúp e với ạ, e đang dùng code này để khi viết vào cột C thì nó tự nhập thời gian sang cột A, E muốn thêm khi mình nhập vào cột M nó sẽ hiện thời gian ở cột L các bác giúp e với ạ, e cảm ơn hihi


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, cell_ As Range
Set rng = Intersect(Target, Range("C:C"))
If Not rng Is Nothing Then
Application.EnableEvents = False
For Each cell_ In rng
If cell_.Value <> "" Then
cell_.Offset(, -1).Value = Now
Else
End If
Next cell_
Application.EnableEvents = True
End If
End Sub
 
Các bác ơi giúp e với ạ, e đang dùng code này để khi viết vào cột C thì nó tự nhập thời gian sang cột A, E muốn thêm khi mình nhập vào cột M nó sẽ hiện thời gian ở cột L các bác giúp e với ạ, e cảm ơn hihi


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, cell_ As Range
Set rng = Intersect(Target, Range("C:C"))
If Not rng Is Nothing Then
Application.EnableEvents = False
For Each cell_ In rng
If cell_.Value <> "" Then
cell_.Offset(, -1).Value = Now
Else
End If
Next cell_
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:C")) Is Nothing Then
If Target.Count = 1 Then
If Target <> Empty Then
Target.Offset(, -1) = Now
Else
Application.EnableEvents = True
End If
End If
End If
If Not Intersect(Target, Range("L:L")) Is Nothing Then
If Target.Count = 1 Then
If Target <> Empty Then
Target.Offset(, -1) = Now
Else
Application.EnableEvents = True
End If
End If
End If
End Sub
 
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
ANH ƠI CÓ CÁCH NÀO ĐỂ KHÔNG AI CÓ THỂ THAY ĐỔI CỘT THỜI GIAN TỰ ĐOỌNG ĐÓ BẰNG TAY ĐƯỢC KHÔNG
 
- Cái code đây:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C4:C1000]) Is Nothing Then
    If Target.Rows.Count = 1 Then
        If Target.Value <> Empty Then
            Target.Offset(, -2).Value = "=max(R3C1:R[-1]C1)+1"
            Target.Offset(, -1).Value = Date
        Else
            Target.Offset(, -2).Resize(, 2).ClearContents
        End If
    End If
End If
End Sub
- Hướng dẫn đây: Chỉ nhập từ C4:C1000, mỗi lần nhập hoặc xoá 1 ô code mới hoạt động.
- File đây:
a Pate cho e hỏi thêm. Ở trường hợp của e muốn đánh stt ở cột A trong 1 tháng, khi cột B qua tháng mới thì stt bên cột A bắt đầu reset lại là 1 và cứ như thế theo từng tháng trong năm được không a.
Mong a giúp e, e cảm ơn a nhiều ạ.
 

File đính kèm

  • 1.xlsm
    26 KB · Đọc: 15
Cần anh chị em giúp!

Đọc tất cả các bài của mấy anh em. mình cảm ơn đã chia sẽ!
hiện tại nhu câu mình như sau:
Mình cần modun riêng gần giống code này

Trích lại đoạn

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, [C4:C1000]) Is Nothing Then

If Target.Rows.Count = 1 Then

If Target.Value <> Empty Then

Target.Offset(, -2).Value = "=max(R3C1:R[-1]C1)+1"

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

Else

Target.Offset(, -2).Resize(, 2).ClearContents

End If

End If

End If


End Sub

++++++++++

Mình không dùng cột số thứ tự

Mình chỉ cần cột giá trị ngày (mục đích cần giá trị ngày thực tại C1 là : if(B1<>””;valuedate;””) )

xin được chỉ giúp cảm ơn
 
Web KT
Back
Top Bottom