Cách sử dụng Vba cho excel khác cùng định dạng

Liên hệ QC

Vàng A Súp

Thành viên hoạt động
Tham gia
21/12/19
Bài viết
149
Được thích
81
em chào các bác, các anh chị
" Em xin phép đăng lại bài hôm quan viết sai nội quy ạ, và gửi lời xin lỗi tới anh VetMini, anh Maika008 "
em mới học cách làm macros nên mong anh chị chỉ giáo ạ. Tình hình là em dùng G8 để xuất file excel và em có làm macros để căn chỉnh dòng. Vấn đề là em không biết làm thế nào để lần sau em dùng G8 xuất fie excel khác ra thì excel đó em xuất sẽ căn chỉnh như file cũ em làm ạ. Em có các sheet : Công trình, Giá tháng, Cước vận chuyển, Cước bộ, Tổng hợp hạng mục và Tổng hợp kinh phí, mỗi sheet em đã làm 1 macros riêng rồi ạ

File đính kèm​

 

File đính kèm

  • excel chưa chỉnh.xls
    588.5 KB · Đọc: 7
  • excel đã chỉnh.xls
    673 KB · Đọc: 7
Cách dễ nhất để có thể dùng code cho nhiều files là chép các code chung ấy vào file "PERSONAL.XLS" (bởi vì file của bạn là XLS cho nên tôi đoán bạn dùng hiên bản Excel 2003). Nếu 2007 trở lên thì dùng "PERSONAL.XLSB" an toàn hơn.
Hiển nhiên là cách này chỉ sử dụng cho máy của bạn. Nếu muốn đưa file cho người khác thì phải dùng addins.

Bạn có thể tự học cách tạo file này, chép code vào, và cách gọi các thủ tục từ các projects khác. Nếu bí chỗ nào thì hỏi tiếp.

Cách dễ thứ hai là cứ chép tất cả các code cần dùng vào một module, đặt tên module là MyThuVien, và export nó ra thành một file MyThuVien.BAS
File nào cần mấy cái này thì cứ việc import trở vào project của mình.
Đây là cách tôi thường dùng nhất. Bởi vì cái thư viện của tôi khá lớn cho nên tôi phân biệt nó thành nhiều nhóm bên trong. Sau khi import, nhóm nào không cần thì xoá đi. Và rename cái module trong project này thành ThuVien01.

Chú: bởi vì yêu cầu của bạn đòi hỏi bạn phải chú tâm, đọc cho kỹ các từ ngữ và không gõ sai sót cho nên người ta mới khuyên bạn nhìn lại cách đọc tên phần mềm của mình.
 
Upvote 0
Cách dễ nhất để có thể dùng code cho nhiều files là chép các code chung ấy vào file "PERSONAL.XLS" (bởi vì file của bạn là XLS cho nên tôi đoán bạn dùng hiên bản Excel 2003). Nếu 2007 trở lên thì dùng "PERSONAL.XLSB" an toàn hơn.
Hiển nhiên là cách này chỉ sử dụng cho máy của bạn. Nếu muốn đưa file cho người khác thì phải dùng addins.

Bạn có thể tự học cách tạo file này, chép code vào, và cách gọi các thủ tục từ các projects khác. Nếu bí chỗ nào thì hỏi tiếp.

Cách dễ thứ hai là cứ chép tất cả các code cần dùng vào một module, đặt tên module là MyThuVien, và export nó ra thành một file MyThuVien.BAS
File nào cần mấy cái này thì cứ việc import trở vào project của mình.
Đây là cách tôi thường dùng nhất. Bởi vì cái thư viện của tôi khá lớn cho nên tôi phân biệt nó thành nhiều nhóm bên trong. Sau khi import, nhóm nào không cần thì xoá đi. Và rename cái module trong project này thành ThuVien01.

Chú: bởi vì yêu cầu của bạn đòi hỏi bạn phải chú tâm, đọc cho kỹ các từ ngữ và không gõ sai sót cho nên người ta mới khuyên bạn nhìn lại cách đọc tên phần mềm của mình.
Dạ vâng ạ. Em cám ơn bác nhé. Thật sự em vẫn chưa hiểu lắm vì em mới học excel, nhưng em sẽ nghiên cứu đã, xong mắc đâu bác giúp em tiếp nhé. Hì hì.
 
Upvote 0
em chào các bác, các anh chị
" Em xin phép đăng lại bài hôm quan viết sai nội quy ạ, và gửi lời xin lỗi tới anh VetMini, anh Maika008 "
em mới học cách làm macros nên mong anh chị chỉ giáo ạ. Tình hình là em dùng G8 để xuất file excel và em có làm macros để căn chỉnh dòng. Vấn đề là em không biết làm thế nào để lần sau em dùng G8 xuất fie excel khác ra thì excel đó em xuất sẽ căn chỉnh như file cũ em làm ạ. Em có các sheet : Công trình, Giá tháng, Cước vận chuyển, Cước bộ, Tổng hợp hạng mục và Tổng hợp kinh phí, mỗi sheet em đã làm 1 macros riêng rồi ạ

File đính kèm​

Thoắt cái biến thành người khác rồi --=0
Code của bạn nhiều hay ít? Bạn cứ trả lời vì tôi chưa xem file.
 
Upvote 0
Thoắt cái biến thành người khác rồi --=0
Code của bạn nhiều hay ít? Bạn cứ trả lời vì tôi chưa xem file.
Sai thì phải sửa chứ ạ. Bảo thủ cố chấp chỉ làm cho mình tụt lùi lại ạ. Em có 6 code cho 6 sheet ạ. Với em thì tương đối dài ạ
Bài đã được tự động gộp:

Cách dễ nhất để có thể dùng code cho nhiều files là chép các code chung ấy vào file "PERSONAL.XLS" (bởi vì file của bạn là XLS cho nên tôi đoán bạn dùng hiên bản Excel 2003). Nếu 2007 trở lên thì dùng "PERSONAL.XLSB" an toàn hơn.
Hiển nhiên là cách này chỉ sử dụng cho máy của bạn. Nếu muốn đưa file cho người khác thì phải dùng addins.

Bạn có thể tự học cách tạo file này, chép code vào, và cách gọi các thủ tục từ các projects khác. Nếu bí chỗ nào thì hỏi tiếp.

Cách dễ thứ hai là cứ chép tất cả các code cần dùng vào một module, đặt tên module là MyThuVien, và export nó ra thành một file MyThuVien.BAS
File nào cần mấy cái này thì cứ việc import trở vào project của mình.
Đây là cách tôi thường dùng nhất. Bởi vì cái thư viện của tôi khá lớn cho nên tôi phân biệt nó thành nhiều nhóm bên trong. Sau khi import, nhóm nào không cần thì xoá đi. Và rename cái module trong project này thành ThuVien01.

Chú: bởi vì yêu cầu của bạn đòi hỏi bạn phải chú tâm, đọc cho kỹ các từ ngữ và không gõ sai sót cho nên người ta mới khuyên bạn nhìn lại cách đọc tên phần mềm của mình.
Em đã xuất ra đc file .BAS. Cũng import được rồi ạ. Và em còn "nghiên cứu" ra là khi em mở 1 file excel đã chỉnh và 1 file chưa chỉnh thì em ấn vào macros ở file chưa chỉnh sẽ hiện vba của file đã chỉnh. Hehe
 
Lần chỉnh sửa cuối:
Upvote 0
Sai thì phải sửa chứ ạ. Bảo thủ cố chấp chỉ làm cho mình tụt lùi lại ạ. Em có 6 code cho 6 sheet ạ. Với em thì tương đối dài ạ
Định dùng VBA để ghi code lên Module của file vừa tạo mới nhưng thấy file xls sợ khó tương thích. Bạn dùng Excel phiên bản nào?
 
Upvote 0
Dạ em dùng excel 2010 bác ạ
Bạn xem file. Trong đó:
- tôi gộp tất cả các sub của bạn vào module Format. Còn module mdlDutoanG8 giữ nguyên. Xóa các module thừa.
- Dùng sheet VBA1 để chứa các lệnh VBA của module Format, sheet VBA2 để chứa các lệnh VBA của module mdlDutoanG8.
- Thêm module Main chứa sub GhiCodeVBA dùng để tạo 1 file Excel mới, ghi các lệnh từ sheet VBA1 vào module MyModule1 và từ sheet VBA2 vào module MyModule2
- Bạn vận dụng code này để sau khi xuất file bằng G8 thì ghi VBA từ file nguồn vào file đích mới tạo.

Lưu ý: Để chạy được sub GhiCodeVBA, bạn cần chọn cái tô đậm từ cửa sổ VBA -> Tools -> References
1618974356430.png
và chọn cái gạch đỏ bên dưới từ File -> Options -> Trust Center -> Trust Center Settings -> Macro Settings
1618974464880.png
 

File đính kèm

  • GhiMacro_Module_.xlsm
    346.9 KB · Đọc: 5
Upvote 0
Bạn xem file. Trong đó:
- tôi gộp tất cả các sub của bạn vào module Format. Còn module mdlDutoanG8 giữ nguyên. Xóa các module thừa.
- Dùng sheet VBA1 để chứa các lệnh VBA của module Format, sheet VBA2 để chứa các lệnh VBA của module mdlDutoanG8.
- Thêm module Main chứa sub GhiCodeVBA dùng để tạo 1 file Excel mới, ghi các lệnh từ sheet VBA1 vào module MyModule1 và từ sheet VBA2 vào module MyModule2
- Bạn vận dụng code này để sau khi xuất file bằng G8 thì ghi VBA từ file nguồn vào file đích mới tạo.

Lưu ý: Để chạy được sub GhiCodeVBA, bạn cần chọn cái tô đậm từ cửa sổ VBA -> Tools -> References
View attachment 257450
và chọn cái gạch đỏ bên dưới từ File -> Options -> Trust Center -> Trust Center Settings -> Macro Settings
View attachment 257451
Hì . Dạ vâng ạ. Em cám ơn bác nhiều nhé. Thứ 2 đi làm em sẽ thực hành thử. Mắc đâu bác lại giúp em nhé
 
Upvote 0
Web KT

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

Back
Top Bottom