Code chạy tự động!

Liên hệ QC

sep_hatxel

Thành viên thường trực
Tham gia
24/5/10
Bài viết
217
Được thích
7
Mình có 1 vấn đề mong GPE giúp đỡ! Mình có 1 file excel đã có sẵn vài code nào đó. Chẳng hạn có code1, code2, code3,... Bây giờ mình muốn khi mở file ra là thì code1 tự động chạy và khi chạy xong thì file đó sẽ thông báo cho ta biết. GPE có phương án nào không rất mong chỉ giúp, xin chân thành cảm ơn!
 
Gán sự kiện Active cho code và trong code đó thêm vào thông báo là xong
 
Mình có 1 vấn đề mong GPE giúp đỡ! Mình có 1 file excel đã có sẵn vài code nào đó. Chẳng hạn có code1, code2, code3,... Bây giờ mình muốn khi mở file ra là thì code1 tự động chạy và khi chạy xong thì file đó sẽ thông báo cho ta biết. GPE có phương án nào không rất mong chỉ giúp, xin chân thành cảm ơn!
Bạn sử dụng code sau trong Module:
Mã:
Sub Auto_Open()
    Code1
End Sub
Hoặc đưa câu lệnh trên vào sự kiện Workbook_Open của đối tượng ThisWorkbook, hoặc đưa toàn bộ nội dung của Code1 vào sự kiện Workbook_Open luôn.

Còn cái vụ thông báo thì ở cuối Code1, bạn thêm 1 dòng lệnh: Msgbox "Da chay xong Code1"
 
Bạn sử dụng code sau trong Module:
Mã:
Sub Auto_Open()
    Code1
End Sub
Hoặc đưa câu lệnh trên vào sự kiện Workbook_Open của đối tượng ThisWorkbook, hoặc đưa toàn bộ nội dung của Code1 vào sự kiện Workbook_Open luôn.

Còn cái vụ thông báo thì ở cuối Code1, bạn thêm 1 dòng lệnh: Msgbox "Da chay xong Code1"
- Vâng! Chân thành cảm ơn các bạn rất nhiều!
- Ngoài ra Bạn có thể chỉ giúp mình thêm có câu lệnh nào để sau khi mở file lên là tự động chạy code sau khi thực hiện xong thì file đó sẽ tự động thoát đi. Lệnh tự động thoát đi này sau khi thực hiện 100 lần chẳng hạn thì sẽ hết hiệu lực và lần mở file thứ 101 thì sẽ không còn lệnh tự động thoát nữa! Rất mong sự chỉ giúp của GPE! Xim cảm ơn GPE rất nhiều!
 
- Vâng! Chân thành cảm ơn các bạn rất nhiều!
- Ngoài ra Bạn có thể chỉ giúp mình thêm có câu lệnh nào để sau khi mở file lên là tự động chạy code sau khi thực hiện xong thì file đó sẽ tự động thoát đi. Lệnh tự động thoát đi này sau khi thực hiện 100 lần chẳng hạn thì sẽ hết hiệu lực và lần mở file thứ 101 thì sẽ không còn lệnh tự động thoát nữa! Rất mong sự chỉ giúp của GPE! Xim cảm ơn GPE rất nhiều!

Yêu cầu gì kỳ cục vậy?
Diễn giải ra có nghĩa là 100 lần đầu tiên chỉ chạy code, chả thấy dữ liệu gì cả (thoát mất đát rồi còn đâu mà thấy). Kể từ lần thứ 101 thì chạy code nhưng chạy xong thì cho thấy dữ liệu.
Vậy thì chô một vòng lặp chạy một hơi 101 lần cho xong chuyện. Sau đó vào code sửa lại, bỏ phần vòng lặp. Thế là lần thứ 2 (tương đương với lần thứ 102) code chạy bình thuờng không cần phải đếm cái gì nữa cho mất công rườm rà.

Trừ phi có thêm một cái process nào đó sửa hoặc truy xuất dữ liệu mà không mở file, tức là sửa dữ liệu mà không chạy code trên.
 
Yêu cầu gì kỳ cục vậy?
Diễn giải ra có nghĩa là 100 lần đầu tiên chỉ chạy code, chả thấy dữ liệu gì cả (thoát mất đát rồi còn đâu mà thấy). Kể từ lần thứ 101 thì chạy code nhưng chạy xong thì cho thấy dữ liệu.
Vậy thì chô một vòng lặp chạy một hơi 101 lần cho xong chuyện. Sau đó vào code sửa lại, bỏ phần vòng lặp. Thế là lần thứ 2 (tương đương với lần thứ 102) code chạy bình thuờng không cần phải đếm cái gì nữa cho mất công rườm rà.

Trừ phi có thêm một cái process nào đó sửa hoặc truy xuất dữ liệu mà không mở file, tức là sửa dữ liệu mà không chạy code trên.
- Dạ, nó là như thế này ạ! Mình có 2 file excel: 1 file gốc chứa cơ sở dữ liệu, mình phải nhập dữ liệu vào file này. File thứ 2 là file có chứa code dùng để xử lí dữ liệu từ file gốc. Vì mình phải nhập dữ liệu vào file gốc khoảng 100 lần, mỗi một lần nhập dữ liệu từ file gốc xong thì mình mới mở file 2 và cho chạy tự động file 2 xử lí dữ liệu. Nên mình mới có ý nghĩ là cứ mỗi lần mở file 2 là tự nó xử lí chạy code rồi tự động thoát ra luôn và sau 100 lần thực hiện thì lệnh tự thoát không còn hiệu lực nữa! Không biết cách làm đó có được không nên mới mong sự chỉ giáo của GPE, nếu đó là thiển nghĩ của mình mong GPE bỏ qua! Xin cảm ơn ạ!
 
- Dạ, nó là như thế này ạ! Mình có 2 file excel: 1 file gốc chứa cơ sở dữ liệu, mình phải nhập dữ liệu vào file này. File thứ 2 là file có chứa code dùng để xử lí dữ liệu từ file gốc. Vì mình phải nhập dữ liệu vào file gốc khoảng 100 lần, mỗi một lần nhập dữ liệu từ file gốc xong thì mình mới mở file 2 và cho chạy tự động file 2 xử lí dữ liệu. Nên mình mới có ý nghĩ là cứ mỗi lần mở file 2 là tự nó xử lí chạy code rồi tự động thoát ra luôn và sau 100 lần thực hiện thì lệnh tự thoát không còn hiệu lực nữa! Không biết cách làm đó có được không nên mới mong sự chỉ giáo của GPE, nếu đó là thiển nghĩ của mình mong GPE bỏ qua! Xin cảm ơn ạ!

Nếu bạn biết viết code để mở file và xử lý dữ liệu thì thiết nghĩ bạn dư sức làm điều này
Theo mình thì mỗi lần chạy code sẽ gán 1 giá trị vào 1 ô chẳng hạn A1. Khi code chạy sẽ là [A1]=[A1]+1
Ta tiến hành kiểm tra ô A1 xem nếu nhỏ hơn 100 thì làm gì đó, nếu lớn hơn 100 thì làm gì đó. Chắc là đơn giản mà
Nếu muốn thoát file nào đó thì chỉ là
Tên file.Close False (hoặc True)
Ví dụ WorkBooks("ABC.xls").Close False
Với False là không lưu những thay đổi, True là lưu lại những thay đổi
 
Lần chỉnh sửa cuối:
Mình có 1 vấn đề mong GPE giúp đỡ! Mình có 1 file excel đã có sẵn vài code nào đó. Chẳng hạn có code1, code2, code3,... Bây giờ mình muốn khi mở file ra là thì code1 tự động chạy và khi chạy xong thì file đó sẽ thông báo cho ta biết. GPE có phương án nào không rất mong chỉ giúp, xin chân thành cảm ơn!
Mã:
Private Sub Workbook_Open()
'Cac dong code viet vao day
msgbox "da chay xong"
End Sub
code được viết trong thisworkbook nhé
 
- Dạ, nó là như thế này ạ! Mình có 2 file excel: 1 file gốc chứa cơ sở dữ liệu, mình phải nhập dữ liệu vào file này. File thứ 2 là file có chứa code dùng để xử lí dữ liệu từ file gốc. Vì mình phải nhập dữ liệu vào file gốc khoảng 100 lần, mỗi một lần nhập dữ liệu từ file gốc xong thì mình mới mở file 2 và cho chạy tự động file 2 xử lí dữ liệu. Nên mình mới có ý nghĩ là cứ mỗi lần mở file 2 là tự nó xử lí chạy code rồi tự động thoát ra luôn và sau 100 lần thực hiện thì lệnh tự thoát không còn hiệu lực nữa! Không biết cách làm đó có được không nên mới mong sự chỉ giáo của GPE, nếu đó là thiển nghĩ của mình mong GPE bỏ qua! Xin cảm ơn ạ!

Nếu bên 1 chỉ nhập n lần mà bên 2 đã mở n+i lần thì sao? Có gì để kiểm soát là 2 không thể mở nhiều hơn số lần nhập của 1. Đương nhiên là có phương án, nhưng tôi đưa vấn đề ra cho bạn thấy là yêu cầu của bạn chưa được suy tính kỹ, sau khi có ai đó giúp code xong bạn sẽ hỏi tiếp: "nhưng mà còn ..."

Trước khi đặt vấn đề tự động, bạn phải vẽ đường đi trước xem "làm thế nào để kiểm soát những cái tự động đó"
 
Web KT

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

Back
Top Bottom