Giúp mình viết thêm điều kiện thời gian cho marco

Liên hệ QC

tlthlnmtnn

Thành viên mới
Tham gia
1/4/12
Bài viết
37
Được thích
2
Mình không hiểu marco cho lắm, kết hợp một số code nên mới được code tự lưu đó, xài tạm cũng được, nhưng mà gặp vấn đề khi Ctrl + H, nếu sửa đúng không nói gì, nếu sửa bị sai thì tiêu
vì vậy mọi người có thể giúp mình viết thêm điều kiện hạn chế lệnh ctrl + H được không?
Mình nghĩ ra 2 cách viết như sau:
Cách 1:
Khi đang đánh dữ liệu ở cột E nó sẽ đếm thời gian, nếu thời gian trên 10 giây mới thực hiện lệnh, không đủ sẽ không thực hiện.
Cách 2:
Lấy thời gian hiện hành của cột sau - thời gian hiện hành của cột trước, nếu - ra thời gian trên 10s và dòng trước dữ liệu không rỗng thì thực hiện lệnh
VD:
Lúc đầu tạo biến tam1 lấy thời gian hiện hành
những biến sau đi theo quy luật sau
Đánh dữ liệu vào E5, khi đánh xong dữ liệu sẽ lấy thời gian hiện hành lưu vào 1 biến tạm (tam1)
tiếp tục đánh dữ liệu vào ô E6, đánh xong nó sẽ lấy thời gian lần nữa (tam2)
lúc này nó sẽ lấy thời gian tạm E6-E5, nếu trên 10 giây và ô E5 dữ liệu không rỗng thì thực hiện lệnh, nếu không đủ điều kiện 1 trong 2 cái đó thì không thực hiện.
sau khi làm xong lệnh trên sẽ gán E6 vào biến tạm (tam1) để thực hiện cho nhiều dòng sau!
Thanks mọi người nhiều!
 

File đính kèm

Lần chỉnh sửa cuối:
Mình không hiểu marco cho lắm, kết hợp một số code nên mới được code tự lưu đó, xài tạm cũng được, nhưng mà gặp vấn đề khi Ctrl + H, nếu sửa đúng không nói gì, nếu sửa bị sai thì tiêu
vì vậy mọi người có thể giúp mình viết thêm điều kiện hạn chế lệnh ctrl + H được không?
Mình nghĩ ra 2 cách viết như sau:
Cách 1:
Khi đang đánh dữ liệu ở cột E nó sẽ đếm thời gian, nếu thời gian trên 10 giây mới thực hiện lệnh, không đủ sẽ không thực hiện.
Cách 2:
Lấy thời gian hiện hành của cột sau - thời gian hiện hành của cột trước, nếu - ra thời gian trên 10s và dòng trước dữ liệu không rỗng thì thực hiện lệnh
VD:
Lúc đầu tạo biến tam1 lấy thời gian hiện hành
những biến sau đi theo quy luật sau
Đánh dữ liệu vào E5, khi đánh xong dữ liệu sẽ lấy thời gian hiện hành lưu vào 1 biến tạm (tam1)
tiếp tục đánh dữ liệu vào ô E6, đánh xong nó sẽ lấy thời gian lần nữa (tam2)
lúc này nó sẽ lấy thời gian tạm E6-E5, nếu trên 10 giây và ô E5 dữ liệu không rỗng thì thực hiện lệnh, nếu không đủ điều kiện 1 trong 2 cái đó thì không thực hiện.
sau khi làm xong lệnh trên sẽ gán E6 vào biến tạm (tam1) để thực hiện cho nhiều dòng sau!
Thanks mọi người nhiều!

Bạn có thể cho tôi biết mục đích của Macro này là để làm gì không? Có thể sẽ có một hướng khác để đạt được mục đích.
 
Mình ghi trong file dòng màu đỏ đó bạn, với lại ở trên mình đã ghi code đó tự động lưu rùi, cụ thể là ở cột F có dữ liệu, khi đánh dữ liệu ở cột E nó sẽ lưu tự động
 
Mình ghi trong file dòng màu đỏ đó bạn, với lại ở trên mình đã ghi code đó tự động lưu rùi, cụ thể là ở cột F có dữ liệu, khi đánh dữ liệu ở cột E nó sẽ lưu tự động

Tôi đã xem rồi và không hỏi nên mới hỏi lại. Nếu bạn chỉ muốn lưu một cách tự động thì dùng sự kiện khác, Workbook_BeforeClose chẳng hạn. Và sai lại là SaveAs mà không phải Save vì bạn chỉ muốn lưu thôi mà.

Ngoài ra tôi cũng chưa hiểu bạn nói Ctrl + H sai thì tiêu là tiêu như thế nào? Bạn hoàn toàn có thể Undo mà.
 
Tôi đã xem rồi và không hỏi nên mới hỏi lại. Nếu bạn chỉ muốn lưu một cách tự động thì dùng sự kiện khác, Workbook_BeforeClose chẳng hạn. Và sai lại là SaveAs mà không phải Save vì bạn chỉ muốn lưu thôi mà.

Ngoài ra tôi cũng chưa hiểu bạn nói Ctrl + H sai thì tiêu là tiêu như thế nào? Bạn hoàn toàn có thể Undo mà.
Mình đã nói là mình không biết marco mà, nhờ viết giúp đã có ai viết đâu nên sai là đương nhiên
còn việc ctrl + H không thể quay lại là do ctrl + H đúng dòng thực hiện lệnh lưu, mà lưu rồi thì không thể quay lại được, nên mình cần viết điều kiện để trong khoản thời gian ngắn thì code đó sẽ không thực hiện đc, như vậy ctrl + H nó sẽ không lưu, lúc đó mới undo được chứ!
 
Web KT

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

Back
Top Bottom