Xem 28,017
Cập nhật thông tin chi tiết về Chuyển Công Thức Excel Sang Hàm Vba Sử Dụng Worksheetfunction mới nhất ngày 16/05/2022 trên website Trucbachconcert.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 28,017 lượt xem.
--- Bài mới hơn ---
Trong bài viết này, blog.hocexcel.online sẽ hướng dẫn các bạn cách chuyển công thức Excel sang hàm VBA sử dụng WorkSheetFunction một cách đơn giản nhất.
Khi tạo công thức, bạn gặp các vấn đề sau:
- + Công thức quá dài.
- + Có nhiều đoạn lặp lại.
- + Công thức chạy quá chậm.
- + Bạn lại đang võ vẽ cũng như tò mò về Vba.
- + Trong Vba bạn muốn gọi một hàm giống hàm trong Excel.
Đây chính là lúc bạn thực hành dùng Vba đề viết hàm thay cho các công thức.
- Chứa các hàm giống các hàm của Excel, ít phải suy nghĩ mà vẫn viết được.
- Lớp này không thể tạo đối tượng mới.
- Vba đã tạo sẵn đối tượng, truy cập Application.WorkSheetFunction.
- Cấu trúc Application.WorkSheetFunction.TenHam(DanhSachDoiSo).
- Hàm “IF” không có, thay vào đó dùng IIF hoặc câu lệnh IF.
- Dùng WorkSheetFunction bạn sẽ thấy dễ dàng, và công thức rất trong sáng.
Cách khai thác lớp WorkSheetFunction, lấy hàm Match làm ví dụ:
- Tạo một biến để gán đối tượng WorkSheetFunction( tùy chọn).
- Dùng Set để gán Application.WorkSheetFunction.
- Gọi hàm Bien=Application.WorkSheetFunction.TenHam(DanhSachDoiSo).
Tìm thông tin về hàm Match:
Các hàm này trả lại kiểu Variant thì không sao, ngược lại nếu nguyên mẫu hàm trả lại kiểu cụ thể ( double chẳng hạn), nếu lỗi trong excel thì trả lại lỗi, còn trong vba nó sẽ tạo ra một lỗi, có thể gây dừng hàm. Do vậy nên chủ động bẫy lỗi, các hàm test lỗi của excel ( isna,…) cũng vô dụng trong trường hợp này.
Cho bài toán như trên, dò tìm hai chiều có tính trường hợp ngoại lệ. Ở đây ta đã có công thức nằm tại ô D6.
+ $I$7:$L$10: BangDuLieu.
+ $H$7:$H$10: Row.
+ $I$6:$L$6: Col.
Học Excel kế toán ở Hà Nội
- Tên hàm: MyFunction, có thể đặt tùy ý, nhưng nên tránh như tên có sẵn như sum, if, day,…
- Bốn đối số được để trong dấu ngoặc: Code, BangDuLieu, Row, Col.
- Nhất quyết phải có dòng MyFunction=MotBieuThuc. Để trả lại kết quả cho hàm.
- Nguyên mẫu các hàm Left, Right, Match, Index khá giống trong Excel.
- Các chữ màu xanh là ghi chú, có thể bỏ qua không cần nhập.
Trong excel ta gõ công thức: =MyFunction(C6,$I$7:$L$10,$I$6:$L$6,$H$7:$H$10)
Video minh họa.
VBA giúp ích rất nhiều trong công việc: giúp bạn tăng tốc trong quá trình xử lý trên Excel, giúp lập các báo cáo tự động, điều khiển các chương trình khác như Word, Power Point, Outlook… giúp biến file Excel của bạn trở thành 1 phần mềm chuyên nghiệp…
Tác giả: Nguyễn Ngọc Thu Hiền
--- Bài cũ hơn ---
Bạn đang xem bài viết Chuyển Công Thức Excel Sang Hàm Vba Sử Dụng Worksheetfunction trên website Trucbachconcert.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!