Nhờ các bác giúp code tự động điền ngày (cố định)

Liên hệ QC

dinhkien85

Thành viên mới
Tham gia
5/1/12
Bài viết
21
Được thích
2
Yêu cầu em để trong tệp đính kèm.

em cảm ơn!
 

File đính kèm

  • Book1.xlsm
    39.5 KB · Đọc: 18

File đính kèm

  • Lock.xlsm
    46.2 KB · Đọc: 21
Upvote 0
Chủ Topic yêu cầu cột Date bị xóa khi cả 3 Cells trong 3 cột C,D,E không có dữ liệu mà bác.
Có lẽ phải chờ chủ topic trả lời thôi, khi nhập cột C -> ghi ngày, nhập cột D -> ghi ngày, nhập cột E -> ghi ngày có lãng phí không?
Dữ liệu chưa đủ 3 cột cũng bị khóa thì sao chỉnh sửa.
 
Upvote 0
Có lẽ phải chờ chủ topic trả lời thôi, khi nhập cột C -> ghi ngày, nhập cột D -> ghi ngày, nhập cột E -> ghi ngày có lãng phí không?
Dữ liệu chưa đủ 3 cột cũng bị khóa thì sao chỉnh sửa.
Thực ra em nghĩ bài toán của chủ Topic không khả thi.
 
Upvote 0
Mình thắc mắc là yêu cầu 1 sao bạn không xài hàm luôn cho lẹ mà phải dùng tới VBA ?
=IF(OR(C6<>"";D6<>"";E6<>"");TODAY();"")
 
Upvote 0
Bản chất từ "Today" đã nói lên tất cả.
khi xử lý yêu cầu 2 dùng vba thì thêm câu lệnh "cells(...)= cells(...)" đc mà bạn.Sry bạn vì cách diễn đạt của mình khiến bạn hiểu nhầm ý của mình, ý của mình là ưu tiên sử dụng các hàm sẵn có trong excel rồi mới sử dụng code trong vba. Do kiến thức về vba mình còn hạn chế nên khi làm việc mình ưu tiên sử dụng hàm trong excel trước rồi mới xài code vba, và chuyển các giá trị đó về .value để tránh cho bảng tính bị nặng, kiểu như:
cell.FormulaR1C1 = ...
cell =cell
hoặc là worksheetfunction.
Và trong trường hợp của chủ topic thì mình cho sự kiện Worksheet_Change như sau:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Target
If .Column > 2 And .Column < 5 Then
Cells(Target.Row, "B").FormulaR1C1 = "=IF(OR(RC[1]<>"""",RC[2]<>"""",RC[3]<>""""),TODAY(),"""")"
Cells(Target.Row, "B") = Cells(Target.Row, "B")
End If
End With
Application.EnableEvents = True
End Sub

Mượn file của bác Ba Tê và chỉnh sửa sự kiện Worksheet_Change của bác.
 

File đính kèm

  • Lock (1).xlsm
    46.2 KB · Đọc: 8
Lần chỉnh sửa cuối:
Upvote 0
khi xử lý yêu cầu 2 dùng vba thì thêm câu lệnh "cells(...)= cells(...)" đc mà bạn.Sry bạn vì cách diễn đạt của mình khiến bạn hiểu nhầm ý của mình, ý của mình là ưu tiên sử dụng các hàm sẵn có trong excel rồi mới sử dụng code trong vba. Do kiến thức về vba mình còn hạn chế nên khi làm việc mình ưu tiên sử dụng hàm trong excel trước rồi mới xài code vba, và chuyển các giá trị đó về .value để tránh cho bảng tính bị nặng, kiểu như:
cell.FormulaR1C1 = ...
cell =cell
hoặc là worksheetfunction.
Và trong trường hợp của chủ topic thì mình cho sự kiện Worksheet_Change như sau:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Target
If .Column > 2 And .Column < 5 Then
Cells(Target.Row, "B").FormulaR1C1 = "=IF(OR(RC[1]<>"""",RC[2]<>"""",RC[3]<>""""),TODAY(),"""")"
Cells(Target.Row, "B") = Cells(Target.Row, "B")
End If
End With
Application.EnableEvents = True
End Sub

Mượn file của bác Ba Tê và chỉnh sửa sự kiện Worksheet_Change của bác.
Thanks bác nhiều nhé! cách của bác cũng rất hay
 
Upvote 0
Hỏi bài mấy ngày rồi mà không cần xem kết quả.
"Ý em là ..." thì xem lại file này.
giờ file em có nhiều sheet, việc tự động điền ngày thì em biết copy nội dụng Worksheet_Change cho các shee rồi, còn nội dung Workbook_BeforeSave mà làm cho tất cả các sheet thì đoạn code này sửa như nào với ạ (trường hợp như file của anh em tạo các sheet GPE, GPE1,...GPE10)
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Rws As Long
With Sheets("GPE")
Rws = .Range("B60000").End(xlUp).Row
If Rws > 4 Then
ActiveSheet.Unprotect "gpe"
.Range("B5:G" & Rws).Locked = True
ActiveSheet.Protect "gpe"
End If
End With
End Sub
 
Upvote 0
Hỏi bài mấy ngày rồi mà không cần xem kết quả.
"Ý em là ..." thì xem lại file này.
Chào bạn cùng GPE. Sau nhiều ngày tìm kiếm tôi mới tìm được thread này
tôi gửi file lên với đề nghị bạn cùng GPE giúp đỡ như sau:
trong sheet "2.Nhap" có cột ngày (A) cần tự động điền ngày hiện tại khi có nhập hoặc thay đổi tại các cột B, C, D, đồng thời tương tự với cột ngày (G), và các cột H, I, J, do đó cũng với yêu cầu như thread này, tuy nhiên sau khi save file không nhất thiết phải khoá gì cả. Sở dĩ cần nêu yêu cầu “thay đổi tại các cột B, C, D,” là do hết năm thì save as cho năm sau nên các cột đó vẫn đầy sau 12 tháng, năm sau cứ nhập đến đâu thì thay đổi đến đó, không nhất thiết phải xoá số liệu năm cũ. Cám ơn mọi sự giúp đỡ.
 

File đính kèm

  • thu chi 2021 GPE.xlsm
    2.2 MB · Đọc: 6
Upvote 0
Chào bạn cùng GPE. Sau nhiều ngày tìm kiếm tôi mới tìm được thread này
tôi gửi file lên với đề nghị bạn cùng GPE giúp đỡ như sau:
trong sheet "2.Nhap" có cột ngày (A) cần tự động điền ngày hiện tại khi có nhập hoặc thay đổi tại các cột B, C, D, đồng thời tương tự với cột ngày (G), và các cột H, I, J, do đó cũng với yêu cầu như thread này, tuy nhiên sau khi save file không nhất thiết phải khoá gì cả. Sở dĩ cần nêu yêu cầu “thay đổi tại các cột B, C, D,” là do hết năm thì save as cho năm sau nên các cột đó vẫn đầy sau 12 tháng, năm sau cứ nhập đến đâu thì thay đổi đến đó, không nhất thiết phải xoá số liệu năm cũ. Cám ơn mọi sự giúp đỡ.
Lấy code bài #12, Cho thêm chút "gia vị" là được mà.
 

File đính kèm

  • Thu chi 2021 GPE.xlsb
    609.1 KB · Đọc: 12
Upvote 0
Chào bạn cùng GPE. Sau nhiều ngày tìm kiếm tôi mới tìm được thread này
tôi gửi file lên với đề nghị bạn cùng GPE giúp đỡ như sau:
trong sheet "2.Nhap" có cột ngày (A) cần tự động điền ngày hiện tại khi có nhập hoặc thay đổi tại các cột B, C, D, đồng thời tương tự với cột ngày (G), và các cột H, I, J, do đó cũng với yêu cầu như thread này, tuy nhiên sau khi save file không nhất thiết phải khoá gì cả. Sở dĩ cần nêu yêu cầu “thay đổi tại các cột B, C, D,” là do hết năm thì save as cho năm sau nên các cột đó vẫn đầy sau 12 tháng, năm sau cứ nhập đến đâu thì thay đổi đến đó, không nhất thiết phải xoá số liệu năm cũ. Cám ơn mọi sự giúp đỡ.
bạn ơi cho mình hỏi làm thế nào để hiện thanh biểu thị phần trăm như file của bạn thế
View attachment 263728
 
Upvote 0
bạn ơi cho mình hỏi làm thế nào để hiện thanh biểu thị phần trăm như file của bạn thế
View attachment 263728
Chào bạn, vui lòng để tôi diễn giải dài dòng chút:
File này tôi cũng sưu tầm trên GPE, có sửa và thay thế để có như hiện thời.
thực sự cũng không nhớ rõ là sao lại có các cột thể hiện tỷ lệ %, nhưng có lẽ xuất phát từ sheet "1.Kehoach" có cột % nên tạo thêm các cột % ở các shett khác, tuy nhiên chẳng khó lắm để hiểu các con số % trong đó.
Tôi chỉ tự sướng với mình ở chỗ trong khi bản thân chỉ nghe, nhìn, đọc được từ "code" mà không biết làm thế nào để tạo ra code thì tự bản thân đã dám sửa chỉ 1 ký tự trong cả 1 code cũng sưu tầm trên GPE để tạo cho mình 1 code cực kỳ hài lòng. Cụ thể là thay ký tự : thành ký tự = , thế là mãn nguyện, khi áp dụng trong file thấy trên cả tuyệt vời. Bạn có thể xem code gốc tại đây
Chúc bạn thành công
 
Upvote 0
Chào bạn, vui lòng để tôi diễn giải dài dòng chút:
File này tôi cũng sưu tầm trên GPE, có sửa và thay thế để có như hiện thời.
thực sự cũng không nhớ rõ là sao lại có các cột thể hiện tỷ lệ %, nhưng có lẽ xuất phát từ sheet "1.Kehoach" có cột % nên tạo thêm các cột % ở các shett khác, tuy nhiên chẳng khó lắm để hiểu các con số % trong đó.
Tôi chỉ tự sướng với mình ở chỗ trong khi bản thân chỉ nghe, nhìn, đọc được từ "code" mà không biết làm thế nào để tạo ra code thì tự bản thân đã dám sửa chỉ 1 ký tự trong cả 1 code cũng sưu tầm trên GPE để tạo cho mình 1 code cực kỳ hài lòng. Cụ thể là thay ký tự : thành ký tự = , thế là mãn nguyện, khi áp dụng trong file thấy trên cả tuyệt vời. Bạn có thể xem code gốc tại đây
Chúc bạn thành công
cảm ơn bạn, mình tìm ra được cách để hiện thị % trông ô cell rồi :)
 
Upvote 0
Web KT
Back
Top Bottom