macro tạo ghi chú

Liên hệ QC

quanghn81

Thành viên mới
Tham gia
20/3/08
Bài viết
25
Được thích
2
Chào các bạn. mình có 1 file báo cáo như ví dụ mình gửi. mình muốn sau mối lần cập nhật để lưu thì cột trống phía ngoài cùng ko có dữ liệu sẽ copy luốn ngày tháng ở ô E1 ở sheet data. chỉ copy giá trị để ngày tháng không thay đổi. mục đích là để biết xem ngày nào đã lưu và ngày nào chưa lưu. nhờ các bạn viết thêm cho mình đoạn mã này nhé.
 

File đính kèm

Chào các bạn. mình có 1 file báo cáo như ví dụ mình gửi. mình muốn sau mối lần cập nhật để lưu thì cột trống phía ngoài cùng ko có dữ liệu sẽ copy luốn ngày tháng ở ô E1 ở sheet data. chỉ copy giá trị để ngày tháng không thay đổi. mục đích là để biết xem ngày nào đã lưu và ngày nào chưa lưu. nhờ các bạn viết thêm cho mình đoạn mã này nhé.

Trong [Sub copy()] , bạn thêm vào đoạn code sau:
PHP:
Sub copy()
  Application.ScreenUpdating = False
  Er1 = Sheets("Data").Range("A60000").End(xlUp).Row
  Er2 = Sheets("Luu").Range("A60000").End(xlUp).Row
  Sheets("Data").Range("A1:D" & Er1).copy
  Sheets("Luu").Range("A" & Er2 + 1).PasteSpecial Paste:=xlPasteAll
  '=======================================================================
  'Thêm vào đoạn code này:
  Sheets("Data").Range("E1").copy
  Sheets("Luu").Range("E" & Er2).PasteSpecial Paste:=xlPasteAll
  Sheets("Luu").Range("F" & Er2) = "(Ngày " & Day(Sheets("Luu").Range("E" & Er2)) & " da duoc luu)"
  '=======================================================================
  Application.CutCopyMode = False
  Application.ScreenUpdating = True
  
End Sub
 
Upvote 0
Sửa lại vầy thử xem:
Mã:
Sub copy()
  Application.ScreenUpdating = False
  Er1 = Sheets("Data").Range("A60000").End(xlUp).Row
  Er2 = Sheets("Luu").Range("A60000").End(xlUp).Row
  Sheets("Data").Range("A1:D" & Er1).copy
  Sheets("Luu").Range("A" & Er2 + 1).PasteSpecial Paste:=xlPasteAll
  Application.CutCopyMode = False
  [B][COLOR=red]Er3 = Sheets("Luu").Range("A60000").End(xlUp).Row[/COLOR][/B]
[B][COLOR=red]  Range("E" & Er3).Value = Sheets("Data").Range("E1").Value[/COLOR][/B]
[B][COLOR=red]  Range("F" & Er3).Value = Range("E" & Er3).Value[/COLOR][/B]
[B][COLOR=red]  Range("F" & Er3).NumberFormat = """(Ngay ""d"" da duoc luu)"""[/COLOR][/B]
  Application.ScreenUpdating = True
End Sub
Thêm phần tô màu đỏ!
ANH TUẤN
 
Lần chỉnh sửa cuối:
Upvote 0
cám ơn các bạn. mình đã copy đoạn code bác anh tuấn vào file update thì chạy nhưng khi áp dụng và file của mình thì xảy ra trường hợp khi chuyển ngày thì ko được và vì sao nó tự động copy Ô ngày tháng xuống các dòng ở dưới cột L của bảng NHAP
 

File đính kèm

Upvote 0
cám ơn các bạn. mình đã copy đoạn code bác anh tuấn vào file update thì chạy nhưng khi áp dụng và file của mình thì xảy ra trường hợp khi chuyển ngày thì ko được và vì sao nó tự động copy Ô ngày tháng xuống các dòng ở dưới cột L của bảng NHAP
Bạn nói sao tôi ko hiểu? File này chạy bình thường mà bạn! Trục trặc chổ nào đâu?
 
Upvote 0
Thêm một tham khảo, nha

PHP:
Sub Copy2()
 Dim lRow As Long, dRow As Long
 
 Sheets("Luu").Select:           lRow = [a65432].End(xlUp).Row + 1
 dRow = Sheets("Data").[a65432].End(xlUp).Row
 Sheets("Data").Range("A1:D" & dRow).copy Destination:=Range("A" & lRow)
 lRow = [a65432].End(xlUp).Row
 With Range("A" & lRow)
    .Offset(, 4) = Date
    .Offset(, 5) = "(Ngay " & Str(Day(Date)) & " Da Duoc Ghi)"
 End With
 Sheets("Data").Range("A2:D" & dRow).Clear
End Sub
 
Upvote 0
file mình vẫn chạy bình thường nhưng khi bạn copy nhiều lần và thử đổi ngày. ví dụ =today()+1 thì sẽ không được, với lại ô L1 (thời gian) trong bảng NHAP được copy xuống dưới các hàng của cột L. Nhờ anh xem em viết sai code chỗ nào không. Em đã kiểm tra kỹ thấy đúng rồi nhưng vẫn bị lỗi
 
Upvote 0
file mình vẫn chạy bình thường nhưng khi bạn copy nhiều lần và thử đổi ngày. ví dụ =today()+1 thì sẽ không được, với lại ô L1 (thời gian) trong bảng NHAP được copy xuống dưới các hàng của cột L. Nhờ anh xem em viết sai code chỗ nào không. Em đã kiểm tra kỹ thấy đúng rồi nhưng vẫn bị lỗi
Chẳng biết nữa nhưng tôi chạy file của bạn thấy bình thường, thay đổi cell L1 thì khi chạy code nó thay đổi theo..
Nói chung ko phát hiện ra điều gì bất thường cả!
ANH TUẤN
 
Upvote 0
Có phải do máy của mình ko nhỉ. VD file này em copy 2 lần ngày 15.5.2008 thì chạy tốt nhưng khi chuyển qua =today()+1 thì không có giá trị gì cả. với lại anh xem cái ô chữ em tô màu đỏ trong bảng NHAP là nó tự động copy xuống
 

File đính kèm

Upvote 0
Có khi nào bạn chạy macro khi đang đứng ở sheet NHAP ko nhỉ? chứ tôi tải file này về vẫn bình thường, trừ phi đứng bên sheet nhập mà chạy macro thì khi ấy nó ko biết cái Range("L" & Er3).Value là của sheet THANG
ANH TUẤN
 
Upvote 0
Đúng như bác nói, khi ở bên bảng NHAP chạy thì ko được, tôi đã thêm đoạn code Sheets("Thang").select vào và đã chạy được rồi. Cảm ơn bác rất nhiều
 
Upvote 0
Đúng như bác nói, khi ở bên bảng NHAP chạy thì ko được, tôi đã thêm đoạn code Sheets("Thang").select vào và đã chạy được rồi. Cảm ơn bác rất nhiều
Bạn thêm chi cho cực vậy!
Viết đầy đủ thì vầy:
Sheets("Thang").Range("L" & Er3).Value = Sheets("NHAP").Range("L1").Value
Vì tôi chạy code trực tiếp ngay trên sheet Thang nên tôi bỏ luôn đoạn Sheets("Thang").
Còn như muốn chạy dc trên mọi sheet thì đương nhiên phải có địa chỉ tuyệt đối rồi
 
Upvote 0
cho mình hỏi thêm là sau khi copy xong muốn vị trí con trỏ nằm ngày ô ngày tháng mà mình vừa copy xong thì phải thêm đoạn code như thế nào các bạn nhỉ
 
Upvote 0
Web KT

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

Back
Top Bottom