Chạy code cho tất cả các File trong folder

Liên hệ QC

LienDong

Thành viên thường trực
Tham gia
22/11/12
Bài viết
215
Được thích
46
Nghề nghiệp
Ai nói đúng thì làm!
Anh chị giúp em như sau:
Em mở file có chứa code tên abc, giờ em muốn có thêm 1 code đó là
Code mở 1 thư mục nào đó (thư mục đó có thể lúc ở ổ C hay D), và cho nó chạy code abc cho tất cả các file có trong thư mục mục đó, thì có code nào không anh chị
Vì em có nhiều file trong một thư mục, nếu mở từng file để chạy code abc thì mất thời gian và dễ bị sót file chưa cho chạy code abc
Em cảm ơn nhiều
 
Code mở files trong thư mục len và update thì diễn đàn này có cả đống. Chịu khó tìm.

Vị nào có viết code cho bài này có lẽ cần ghi nhớ 2 điểm:
1. code thì ở đây có cả đống nhưng những code có ghi lại log (file nào chạy được, file nào bị vấn đề) thì hiếm. Nhiều code có dòng On Error Resume Next rất nguy hiểm cho việc sử lý hàng loạt.
2. cần phải hỏi lại thớt: "code cần chạy đó sửa đổi files ra sao? nếu chạy nhiều hơn 1 lần thì kết quả còn đúng không?". Như thớt nói chuyện "bị sót" dễ xảy ra thì chuyện lỡ chạy nhiều lần hoặc không biết đã chạy chưa cũng rất dễ xảy ra.
 
Upvote 0
Code mở files trong thư mục len và update thì diễn đàn này có cả đống. Chịu khó tìm.

Vị nào có viết code cho bài này có lẽ cần ghi nhớ 2 điểm:
1. code thì ở đây có cả đống nhưng những code có ghi lại log (file nào chạy được, file nào bị vấn đề) thì hiếm. Nhiều code có dòng On Error Resume Next rất nguy hiểm cho việc sử lý hàng loạt.
2. cần phải hỏi lại thớt: "code cần chạy đó sửa đổi files ra sao? nếu chạy nhiều hơn 1 lần thì kết quả còn đúng không?". Như thớt nói chuyện "bị sót" dễ xảy ra thì chuyện lỡ chạy nhiều lần hoặc không biết đã chạy chưa cũng rất dễ xảy ra.
Code abc của em đây, em đã chạy thử nhiều lần nhưng không sao
Sub abc()
Dim ws As Worksheet, Clls As Range, Rng As Range
Const LP = "LOP"
Const HT = "HOTEN"
For Each ws In ActiveWorkbook.Worksheets
Set Rng = ws.Range("A1").Resize(, 20)
For Each Clls In Rng
If Clls = LP Then Clls.EntireColumn.Hidden = True
If Clls = HT Then Clls.EntireColumn.AutoFit
Next Clls
Next ws
End Sub
Em có tìm trên google có thấy bài này nhưng lại không biết áp dụng làm sao vì thấy cao siêu quá
 
Upvote 0
Code abc của em đây, em đã chạy thử nhiều lần nhưng không sao
Sub abc()
Dim ws As Worksheet, Clls As Range, Rng As Range
Const LP = "LOP"
Const HT = "HOTEN"
For Each ws In ActiveWorkbook.Worksheets
Set Rng = ws.Range("A1").Resize(, 20)
For Each Clls In Rng
If Clls = LP Then Clls.EntireColumn.Hidden = True
If Clls = HT Then Clls.EntireColumn.AutoFit
Next Clls
Next ws
End Sub

Em có tìm trên google có thấy bài này nhưng lại không biết áp dụng làm sao vì thấy cao siêu quá
cái Sub abc() của bạn @LienDong có thấy quen không vậy bạn @Nhattanktnn ?
 
Upvote 0
Code abc của em đây, em đã chạy thử nhiều lần nhưng không sao {1}
Em có tìm trên google có thấy bài này nhưng lại không biết áp dụng làm sao vì thấy cao siêu quá {2}
{1} Lần sau, bạn lấy code ở đâu thì dẫn nguồn, hoặc tói thiểu cũng nên nêu tên tác giả, tỏ ý trọng sản phẩm trí tuệ của người ta.
{2} Code "lấy tên files" kia cũ lắm rồi. Tìm cái khác mới hơn.
 
Upvote 0
Anh chị giúp em như sau:
Em mở file có chứa code tên abc, giờ em muốn có thêm 1 code đó là
Code mở 1 thư mục nào đó (thư mục đó có thể lúc ở ổ C hay D), và cho nó chạy code abc cho tất cả các file có trong thư mục mục đó, thì có code nào không anh chị
Vì em có nhiều file trong một thư mục, nếu mở từng file để chạy code abc thì mất thời gian và dễ bị sót file chưa cho chạy code abc
Em cảm ơn nhiều
Thử tìm kiếm với từ khóa này và tìm hiểu xem sao:
Run same excel macro on multiple excel files
 
Upvote 0
Web KT
Back
Top Bottom