Hỏi, đáp về lập trình VBA trong Excel.
Tôi đưa ra Topic này để các bạn yêu thích về Lập trình VBA, cùng nhau trao đổi, học tập, trong quá trình trao đổi, học tập có vấn đề gì chưa học, học rồi mà chưa biết hoặc biết rồi nhưng trong quá trình thao tác còn vướng mắc (bị lỗi) trong các thao tác về lập trình VBA thì mong các bạn vần nêu câu hỏi tại Topic để cùng nhau bàn bạc, thảo luận, đóng góp để giúp nhau làm tốt công việc của mình. Câu hỏi hoặc câu trả lời mong các bạn cùng thảo luận và đóng góp chân tình để giúp nhau và cùng nhau xây dựng nên 1 diễn đàn tốt đẹp và hữu ích, chứ đừng ghen tỵ, chỉ trích nhau thì sự đóng góp đó sẽ không có ý nghĩa và làm mất đi sự đoàn kết gắn bó. Thì người bị chỉ trích tự ái không tham gia diễn đàn nữa, sẽ làm mất đi sự đóng góp cho xã hội mặc dù sự đóng góp đó là nhỏ nhoi, nhưng nhiều cái đóng góp vào sẽ làm được cái lớn lao hơn (ông bà xưa có câu góp gió thành Bão), vì vậy tôi mong các bạn dù ít, dù nhiều cùng góp ý, tham gia trên tinh thần giúp đỡ lẫn nhau và xây dựng diễn đàn ngày càng tốt đẹp và lớn mạnh hơn.
VBA là gì?
VBA là ngôn ngữ lập trình định hướng đối tượng cho các ứng dụng, là từ viết tắt của cụm từ (Visual Basic for Applications) .
VBA là ngôn ngữ chung, phổ biến đằng sau tất cả các ứng dụng của Microsoft Office (Excel, Word, PowerPoint, Access và Outlook).
Sử dụng VBA là cách nhanh nhất và tốt nhất để tự động hóa các nhiệm vụ và cũng có thể tùy chỉnh các ứng dụng của Microsoft Office. Cho dù bạn là một người mới bắt đầu hoặc một nhà phát triển VBA kinh nghiệm, bạn sẽ tìm thấy phần này cực kỳ hữu ích và cần được sử dụng.
01. Macro là gì?
Macro là tên gọi được sử dụng để mô tả 1 đoạn Code được sử dụng để tự động hóa các nhiệm vụ lặp đi lặp lại, mỗi macro có ứng dụng riêng của nó, ta có thể tạo Macro và được chứa trong từng cửa sổ Code của Sheet, ThisWorkbook, UserForm, Module, Class Module tùy theo mục đích mà ta ứng dụng nó vào công việc nào mà ta cần.
02. Ghi 1 Macro:
Muốn ghi macro thì trước tiên ta phải làm hiển thị thanh Visual Basic.
a. Làm hiển thị thanh Visual Basic:
Để làm hiển thi thanh Visual Basic ta thực hiện như sau: Từ cửa sổ Excel chọn View, chọn Toolbars, chọn Visual Basic, làm xuất hiện Thanh công cụ Visual Basic, click vào phần màu xanh của từ Visual Basic, giữ chuột rê lên phía trên màn hình và thả cho nó neo trên đó.
b. Thiết lập chế độ chạy macro:
Từ thanh Visual Basic, click vào Security... Làm xuất hiện cửa sổ Security, trong cửa sổ Security click vào thẻ Security Level, đánh dấu chọn vào Medium. You can choose whether or not to run potentially unsafe macros ……. Xong nhấn nút OK và nhấn save để lưu.
c. Cách ghi macro:
Từ thanh Visual Basic, click vào Record Macro (dấu chấm màu đỏ) làm xuất hiện cửa sổ Record Macro, trong khung Macro Name nó mặc định tên macro là macro 1, bạn có thể sửa và đặt tên macro lại theo từng nội dung công việc, nếu bạn muốn sử dụng tổ hợp phím tắt thì bạn gõ vào khung shortcutkey 1 ký tự nào đó (để chạy ứng dụng thì bạn nhấn Ctrl + Shift+ký tự của bạn đã gõ vào khung), khung Store macro in (lưu trữ macro trong ) nó mặc định là This Workbook hoặc nhấp vào vị trí nơi bạn muốn lưu trữ các Macro, khung Description bạn muốn ghi chú gì về ứng dụng của macro hoặc gõ tên tác giả thì gõ nội dung vào đây, xong bạn nhấn nút OK, làm xuất hiện thanh Stop Recording (hình vuông màu xanh biển), bây giờ bạn hãy thửa 1 vài thao tác cộng, trừ hoặc chọn Font chữ, cỡ chữ, to màu và cho chữ đậm lên, xong bạn nhấn vào nút hình vuông nhỏ màu xanh là nút Stop Recording.
Bây giờ để xem vừa rồi ghi Macro nó chứa Macro ở đâu bạn vào nút hình vuông màu đỏ (Visual Basic Editor) của thanh Visual Basic hoặc nhấn nút Alt+F11 để mở cửa sổ Visual Basic Editor, trong cửa sổ Project - VBA Project bạn sẽ thấy Module1 bạn hãy click đúp chuột vào nó hoặc click phải chuột chọn View Code, cửa sổ Code mở ra bạn sẽ thấy được những thao tác bạn vừa thực hiện Macro đã ghi đầy đủ các nội dung bằng những dòng Code.
Lưu ý:
- Phím tắt vừa thực hiện sẽ ghi đè lên bất kỳ mặc định phím tắt tương đương với Microsoft Excel khi bảng tính có chứa macro (đối với File bạn có tạo phím tắt).
- Khi bạn click vào X (close) của thanh Stop Recording sẽ đóng thanh Stop Recording và khi bạn thực hiện Record Macro 1 macro thì nó sẽ không hiện ra nữa, để làm cho nó hiện ra từ cửa sổ Excel chọn View, chọn Toolbars, chọn Customize…Làm xuất hiện cửa sổ Customize bạn chọn thẻ Toolbars, trong khung Toolbars kéo thanh cuộn xuống tìm và đánh dấu chọn vào Stop Recording, xong click vào nút Close là xong.
- Khi mở bất kỳ 1 File có chứa Macro nó sẽ xuất hiện cửa sổ Security Warning, bạn nhấn vào nút Enable Macros để mở File.
Tôi đưa ra Topic này để các bạn yêu thích về Lập trình VBA, cùng nhau trao đổi, học tập, trong quá trình trao đổi, học tập có vấn đề gì chưa học, học rồi mà chưa biết hoặc biết rồi nhưng trong quá trình thao tác còn vướng mắc (bị lỗi) trong các thao tác về lập trình VBA thì mong các bạn vần nêu câu hỏi tại Topic để cùng nhau bàn bạc, thảo luận, đóng góp để giúp nhau làm tốt công việc của mình. Câu hỏi hoặc câu trả lời mong các bạn cùng thảo luận và đóng góp chân tình để giúp nhau và cùng nhau xây dựng nên 1 diễn đàn tốt đẹp và hữu ích, chứ đừng ghen tỵ, chỉ trích nhau thì sự đóng góp đó sẽ không có ý nghĩa và làm mất đi sự đoàn kết gắn bó. Thì người bị chỉ trích tự ái không tham gia diễn đàn nữa, sẽ làm mất đi sự đóng góp cho xã hội mặc dù sự đóng góp đó là nhỏ nhoi, nhưng nhiều cái đóng góp vào sẽ làm được cái lớn lao hơn (ông bà xưa có câu góp gió thành Bão), vì vậy tôi mong các bạn dù ít, dù nhiều cùng góp ý, tham gia trên tinh thần giúp đỡ lẫn nhau và xây dựng diễn đàn ngày càng tốt đẹp và lớn mạnh hơn.
VBA là gì?
VBA là ngôn ngữ lập trình định hướng đối tượng cho các ứng dụng, là từ viết tắt của cụm từ (Visual Basic for Applications) .
VBA là ngôn ngữ chung, phổ biến đằng sau tất cả các ứng dụng của Microsoft Office (Excel, Word, PowerPoint, Access và Outlook).
Sử dụng VBA là cách nhanh nhất và tốt nhất để tự động hóa các nhiệm vụ và cũng có thể tùy chỉnh các ứng dụng của Microsoft Office. Cho dù bạn là một người mới bắt đầu hoặc một nhà phát triển VBA kinh nghiệm, bạn sẽ tìm thấy phần này cực kỳ hữu ích và cần được sử dụng.
01. Macro là gì?
Macro là tên gọi được sử dụng để mô tả 1 đoạn Code được sử dụng để tự động hóa các nhiệm vụ lặp đi lặp lại, mỗi macro có ứng dụng riêng của nó, ta có thể tạo Macro và được chứa trong từng cửa sổ Code của Sheet, ThisWorkbook, UserForm, Module, Class Module tùy theo mục đích mà ta ứng dụng nó vào công việc nào mà ta cần.
02. Ghi 1 Macro:
Muốn ghi macro thì trước tiên ta phải làm hiển thị thanh Visual Basic.
a. Làm hiển thị thanh Visual Basic:
Để làm hiển thi thanh Visual Basic ta thực hiện như sau: Từ cửa sổ Excel chọn View, chọn Toolbars, chọn Visual Basic, làm xuất hiện Thanh công cụ Visual Basic, click vào phần màu xanh của từ Visual Basic, giữ chuột rê lên phía trên màn hình và thả cho nó neo trên đó.
b. Thiết lập chế độ chạy macro:
Từ thanh Visual Basic, click vào Security... Làm xuất hiện cửa sổ Security, trong cửa sổ Security click vào thẻ Security Level, đánh dấu chọn vào Medium. You can choose whether or not to run potentially unsafe macros ……. Xong nhấn nút OK và nhấn save để lưu.
c. Cách ghi macro:
Từ thanh Visual Basic, click vào Record Macro (dấu chấm màu đỏ) làm xuất hiện cửa sổ Record Macro, trong khung Macro Name nó mặc định tên macro là macro 1, bạn có thể sửa và đặt tên macro lại theo từng nội dung công việc, nếu bạn muốn sử dụng tổ hợp phím tắt thì bạn gõ vào khung shortcutkey 1 ký tự nào đó (để chạy ứng dụng thì bạn nhấn Ctrl + Shift+ký tự của bạn đã gõ vào khung), khung Store macro in (lưu trữ macro trong ) nó mặc định là This Workbook hoặc nhấp vào vị trí nơi bạn muốn lưu trữ các Macro, khung Description bạn muốn ghi chú gì về ứng dụng của macro hoặc gõ tên tác giả thì gõ nội dung vào đây, xong bạn nhấn nút OK, làm xuất hiện thanh Stop Recording (hình vuông màu xanh biển), bây giờ bạn hãy thửa 1 vài thao tác cộng, trừ hoặc chọn Font chữ, cỡ chữ, to màu và cho chữ đậm lên, xong bạn nhấn vào nút hình vuông nhỏ màu xanh là nút Stop Recording.
Bây giờ để xem vừa rồi ghi Macro nó chứa Macro ở đâu bạn vào nút hình vuông màu đỏ (Visual Basic Editor) của thanh Visual Basic hoặc nhấn nút Alt+F11 để mở cửa sổ Visual Basic Editor, trong cửa sổ Project - VBA Project bạn sẽ thấy Module1 bạn hãy click đúp chuột vào nó hoặc click phải chuột chọn View Code, cửa sổ Code mở ra bạn sẽ thấy được những thao tác bạn vừa thực hiện Macro đã ghi đầy đủ các nội dung bằng những dòng Code.
Lưu ý:
- Phím tắt vừa thực hiện sẽ ghi đè lên bất kỳ mặc định phím tắt tương đương với Microsoft Excel khi bảng tính có chứa macro (đối với File bạn có tạo phím tắt).
- Khi bạn click vào X (close) của thanh Stop Recording sẽ đóng thanh Stop Recording và khi bạn thực hiện Record Macro 1 macro thì nó sẽ không hiện ra nữa, để làm cho nó hiện ra từ cửa sổ Excel chọn View, chọn Toolbars, chọn Customize…Làm xuất hiện cửa sổ Customize bạn chọn thẻ Toolbars, trong khung Toolbars kéo thanh cuộn xuống tìm và đánh dấu chọn vào Stop Recording, xong click vào nút Close là xong.
- Khi mở bất kỳ 1 File có chứa Macro nó sẽ xuất hiện cửa sổ Security Warning, bạn nhấn vào nút Enable Macros để mở File.
Sửa lần cuối: