Ngay cả khi bạn là một người mới hoàn thành với thế giới của Excel VBA, bạn có thể dễ dàng ghi lại một macro và tự động hóa một số công việc của bạn.
Trong hướng dẫn chi tiết này, tôi sẽ trình bày tất cả những gì bạn cần biết để bắt đầu ghi và sử dụng các macro trong Excel.
Macro là gì?
Nếu bạn là một newbie để VBA, hãy để tôi cho bạn biết những gì một vĩ mô là – sau khi tất cả, tôi sẽ tiếp tục sử dụng thuật ngữ này trong toàn bộ hướng dẫn.
Macro là một mã được viết bằng VBA (Visual Basic for Applications) cho phép bạn chạy một đoạn mã bất cứ khi nào nó được thực thi.
Thông thường, bạn sẽ tìm thấy mọi người (bao gồm cả bản thân mình) tham chiếu đến mã VBA dưới dạng macro – cho dù nó được tạo bằng cách sử dụng máy ghi macro hay đã được viết theo cách thủ công.
Khi bạn ghi lại một macro, Excel theo dõi chặt chẽ các bước bạn đang thực hiện và ghi chú nó xuống bằng ngôn ngữ mà nó hiểu – đó là VBA.
Và vì Excel là một trình tạo ghi chú thực sự tốt, nó tạo ra một mã rất chi tiết (như chúng ta sẽ thấy sau trong hướng dẫn này).
Bây giờ, khi bạn dừng ghi âm, lưu macro và chạy nó, Excel chỉ đơn giản quay trở lại mã VBA mà nó tạo ra và thực hiện theo các bước tương tự.
Điều này có nghĩa rằng ngay cả khi bạn không biết gì về VBA, bạn có thể tự động hóa một số tác vụ chỉ bằng cách cho phép Excel ghi lại các bước của bạn một lần và sau đó sử dụng lại các bước này sau.
Bây giờ chúng ta hãy đi sâu vào và xem làm thế nào để ghi lại một vĩ mô trong Excel.
Lấy Tab nhà phát triển trong ruy-băng
Bước đầu tiên để ghi lại macro là nhận tab Nhà phát triển trong ruy-băng.
Nếu bạn đã có thể thấy tab nhà phát triển trong ruy-băng, hãy chuyển đến phần tiếp theo, hãy thực hiện theo các bước bên dưới:
- Nhấp chuột phải vào bất kỳ tab hiện có nào trong ruy-băng và nhấp vào tùy chọn ‘Tùy chỉnh Ribbon’. Nó sẽ mở hộp thoại Tùy chọn Excel.
- Trong hộp thoại Tùy chọn Excel, bạn sẽ có tùy chọn Tùy chỉnh Ribbon. Ở bên phải, trong ngăn Tab chính, hãy chọn tùy chọn Nhà phát triển.
- Nhấp vào OK.
Các bước trên sẽ làm cho tab Nhà phát triển có sẵn trong vùng ruy-băng.
Ghi macro trong Excel
Bây giờ chúng ta đã có mọi thứ, hãy tìm hiểu cách ghi macro trong Excel.
Hãy ghi lại một macro rất đơn giản – một trong đó chọn một ô và nhập vào văn bản ‘Excel’ trong đó. Tôi đang sử dụng văn bản ‘Excel’ trong khi ghi macro này, nhưng vui lòng nhập tên của bạn hoặc bất kỳ văn bản nào khác mà bạn thích.
Dưới đây là các bước để ghi lại macro này:
- Nhấp vào tab Nhà phát triển.
- Trong nhóm Mã, bấm vào nút Macro. Thao tác này sẽ mở hộp thoại ‘Ghi lại Macro’.
- Trong hộp thoại Ghi macro, nhập tên cho macro của bạn. Tôi đang sử dụng tên EnterText . Có một số điều kiện đặt tên mà bạn cần thực hiện khi đặt tên macro. Ví dụ, bạn không thể sử dụng dấu cách ở giữa. Tôi thường thích giữ tên macro của mình như một từ duy nhất, với các phần khác nhau với bảng chữ cái đầu tiên viết hoa. Bạn cũng có thể sử dụng dấu gạch dưới để phân tách hai từ – chẳng hạn như Enter_Text.
- (Bước Tùy chọn) Bạn có thể gán lối tắt bàn phím nếu muốn. Trong trường hợp này, chúng tôi sẽ sử dụng phím tắt Control + Shift + N. Hãy nhớ rằng phím tắt bạn chỉ định ở đây sẽ ghi đè mọi shorcut hiện có trong sổ làm việc của bạn. Ví dụ, nếu bạn gán phím tắt Control + S, bạn sẽ không thể sử dụng nó để lưu sổ làm việc (thay vào đó, mỗi khi bạn sử dụng nó, nó sẽ thực thi macro).
- Trong tùy chọn ‘Lưu trữ macro trong’, hãy đảm bảo ‘Sổ làm việc này’ được chọn. Bước này đảm bảo rằng macro là một phần của sổ làm việc. Nó sẽ ở đó khi bạn lưu nó và mở lại, hoặc thậm chí nếu bạn chia sẻ nó với ai đó.
- (Bước tùy chọn) Nhập mô tả. Tôi thường không làm điều này, nhưng nếu bạn cực kỳ có tổ chức, bạn có thể muốn thêm những gì vĩ mô là về.
- Nhấp vào OK. Ngay sau khi bạn bấm OK, nó bắt đầu ghi lại các hành động của bạn trong Excel. Bạn có thể thấy nút ‘Dừng ghi’ trong tab Nhà phát triển, cho biết rằng quá trình ghi macro đang diễn ra.
- Chọn ô A2.
- Nhập văn bản Excel (hoặc bạn có thể sử dụng tên của bạn).
- Nhấn phím Enter. Thao tác này sẽ chọn ô A3.
- Nhấp vào nút Dừng ghi trong tab Nhà phát triển.
Xin chúc mừng!
Bạn vừa mới ghi lại macro đầu tiên của mình trong Excel. Bạn không còn là một trinh nữ vĩ mô nữa.
Trong khi macro không làm bất cứ điều gì hữu ích, nó sẽ phục vụ mục đích của nó trong việc giải thích cách một trình ghi macro hoạt động trong Excel.
Bây giờ chúng ta hãy tiếp tục và thử nghiệm macro này.
Làm theo các bước dưới đây để kiểm tra macro:
- Xóa văn bản trong ô A2. Điều này là để kiểm tra nếu macro chèn văn bản vào ô A2 hay không.
- Chọn bất kỳ ô nào – ngoài A2. Điều này là để kiểm tra xem macro có chọn ô A2 hay không.
- Nhấp vào tab Nhà phát triển.
- Trong nhóm Mã, nhấp vào nút Macro.
- Trong hộp thoại Macro, bấm vào tên macro – EnterText.
- Nhấp vào nút Run.
Bạn sẽ nhận thấy rằng ngay sau khi bạn nhấp vào nút Run, văn bản ‘Excel’ được chèn vào ô A2 và ô A3 được chọn.
Bây giờ, điều này tất cả có thể xảy ra trong một giây, nhưng trên thực tế, vĩ mô – giống như một elf vâng lời – theo các bước chính xác mà bạn đã thể hiện trong khi ghi macro.
Vì vậy, macro đầu tiên chọn ô A2, sau đó nhập văn bản Excel vào ô đó rồi chọn ô A3.
Lưu ý: Bạn cũng có thể chạy macro bằng phím tắt Control + Shift + N (giữ phím Control và Shift rồi nhấn phím N). Đây là lối tắt bàn phím tương tự mà chúng tôi đã gán cho macro khi ghi lại.
Những gì ghi một vĩ mô nào trong phụ trợ
Bây giờ chúng ta hãy đi đến phần phụ trợ của Excel – Trình soạn thảo VB – và xem những gì ghi lại một macro thực sự làm.
Dưới đây là các bước để mở VB Editor trong Excel:
- Nhấp vào tab Nhà phát triển.
- Trong nhóm Mã, bấm vào nút Visual Basic.
Hoặc bạn có thể sử dụng phím tắt – ALT + F11 (giữ phím ALT và nhấn F11), thay vì hai bước trên. Phím tắt này cũng mở cùng một VB Editor.
Bây giờ nếu bạn đang nhìn thấy VB Editor lần đầu tiên, đừng bị choáng ngợp.
Hãy để tôi nhanh chóng làm cho bạn quen thuộc với giải phẫu VB Editor.
- Menu Bar: Đây là nơi bạn có tất cả các tùy chọn của VB Editor. Hãy xem đây là ruy-băng của VBA. Nó chứa các lệnh mà bạn có thể sử dụng trong khi làm việc với VB Editor.
- Thanh công cụ – Đây giống như Thanh công cụ truy cập nhanh của trình soạn thảo VB. Nó đi kèm với một số tùy chọn hữu ích và bạn có thể thêm nhiều tùy chọn hơn cho nó. Lợi ích của nó là một tùy chọn trong thanh công cụ chỉ là một cú nhấn chuột.
- Project Explorer Window – Đây là nơi Excel liệt kê tất cả các sổ làm việc và tất cả các đối tượng trong mỗi sổ làm việc. Ví dụ, nếu chúng ta có một bảng tính với 3 trang tính, nó sẽ hiển thị trong Project Explorer. Có một số đối tượng bổ sung ở đây như mô-đun, biểu mẫu người dùng và mô-đun lớp học.
- Cửa sổ mã – Đây là nơi mã VBA được ghi hoặc ghi. Có một cửa sổ mã cho mỗi đối tượng được liệt kê trong trình thám hiểm Dự án – chẳng hạn như trang tính, sổ làm việc, mô-đun, v.v. Chúng ta sẽ thấy sau trong hướng dẫn này rằng macro đã ghi đi vào cửa sổ mã của một mô-đun.
- Cửa sổ thuộc tính – Bạn có thể xem các thuộc tính của từng đối tượng trong cửa sổ này. Tôi thường sử dụng cửa sổ này để đặt tên các đối tượng hoặc thay đổi các thuộc tính ẩn . Bạn có thể không thấy cửa sổ này khi mở trình soạn thảo VB. Để hiển thị điều này, hãy nhấp vào tab xem và chọn Cửa sổ thuộc tính.
- Cửa sổ ngay lập tức – Tôi hiếm khi sử dụng cửa sổ này. Nó rất hữu ích khi bạn muốn kiểm tra một số câu lệnh hoặc trong khi gỡ lỗi. Nó có thể không được hiển thị theo mặc định và bạn có thể làm cho nó xuất hiện bằng cách nhấp vào tab Xem và chọn tùy chọn Cửa sổ ngay lập tức.
Khi chúng ta ghi lại macro – EnterText , những điều sau đã xảy ra trong VB Editor:
- Đã chèn một mô-đun mới.
- Một macro đã được ghi lại với tên mà chúng tôi đã chỉ định – EnterText
- Mã được viết trong cửa sổ mã của mô-đun.
Vì vậy, nếu bạn kích đúp vào module (Module 1 trong trường hợp này), một cửa sổ mã như hình dưới đây sẽ xuất hiện.
Trong VBA, bất kỳ dòng nào theo sau ‘ (dấu nháy đơn) không được thực hiện. Đó là một bình luận chỉ dành cho mục đích thông tin. Nếu bạn xóa năm dòng đầu tiên của mã này, macro sẽ vẫn hoạt động như mong đợi.
Bây giờ hãy để tôi nhanh chóng trình bày những gì từng dòng mã:
Mã bắt đầu bằng Sub, theo sau là tên của macro và dấu ngoặc đơn trống. Sub là viết tắt của Subroutine. Mỗi chương trình con (còn gọi là thủ tục) trong VBA bắt đầu bằng Sub và kết thúc bằng End Sub.
- Phạm vi (“A2”) Chọn – Dòng này chọn ô A2.
- ActiveCell.FormulaR1C1 = “Excel” – dòng này nhập văn bản Excel vào ô hiện hoạt. Vì chúng tôi đã chọn A2 làm bước đầu tiên nên nó sẽ trở thành ô hiện hoạt của chúng tôi.
- Phạm vi (“A3”) Chọn – Chọn ô A3. Điều này xảy ra khi chúng tôi nhấn phím Enter sau khi nhập văn bản, kết quả là chọn ô A3.
Tôi hy vọng bây giờ bạn có một số hiểu biết cơ bản về cách ghi lại một macro trong Excel.
Hãy nhớ rằng mã được viết bởi máy ghi macro không phải là mã hiệu quả.
Macro ghi đôi khi thêm rất nhiều fluff vào mã mà không cần thiết ở lần. Nhưng điều này không có nghĩa là nó không hữu ích. Đối với một người nào đó học VBA , một máy ghi vĩ mô có thể là một cách tuyệt vời để phân tích cách mọi thứ hoạt động trong VBA.
Những gì một Macro Recorder không thể làm
Máy ghi vĩ mô rất tuyệt khi theo dõi bạn trong Excel và ghi lại các bước chính xác của bạn, nhưng nó có thể thất bại khi bạn cần nó để làm nhiều hơn.
- Bạn không thể thực thi mã mà không chọn đối tượng. Nếu bạn muốn máy ghi macro đi tới trang tính tiếp theo và đánh dấu tất cả các ô được điền trong cột A, mà không rời khỏi trang tính hiện tại, thì nó sẽ không thể thực hiện được điều này. Đó là bởi vì nếu tôi yêu cầu bạn làm điều này, thậm chí bạn sẽ không thể làm điều đó (mà không rời khỏi trang tính hiện tại). Và nếu bạn không thể tự mình làm, máy ghi macro sẽ ghi lại hành động của bạn như thế nào. Trong những trường hợp như vậy, bạn cần phải tự đi và tạo / chỉnh sửa mã.
- Bạn không thể tạo chức năng tùy chỉnh bằng trình ghi macro. Với VBA, bạn có thể tạo các hàm tùy chỉnh mà bạn có thể sử dụng trong trang tính dưới dạng hàm thông thường. Bạn có thể tạo điều này bằng cách viết mã theo cách thủ công.
- Bạn không thể chạy mã dựa trên sự kiện: Trong VBA, bạn có thể sử dụng nhiều sự kiện – chẳng hạn như mở sổ làm việc, thêm trang tính, nhấp đúp vào ô, v.v để chạy mã được liên kết với sự kiện đó. Bạn có thể sử dụng máy ghi macro để thực hiện việc này.
- Bạn không thể tạo vòng lặp bằng trình ghi macro. Khi bạn nhập mã theo cách thủ công, bạn có thể tận dụng sức mạnh của các vòng trong VBA (chẳng hạn như Cho Tiếp theo , Cho Mỗi Tiếp theo, Thực hiện Trong khi, Thực hiện cho đến khi). Nhưng bạn không thể làm điều này khi bạn ghi lại một macro.
- Bạn không thể phân tích điều kiện: Bạn có thể kiểm tra các điều kiện trong mã bằng cách sử dụng máy ghi macro. Nếu bạn viết mã VBA theo cách thủ công, bạn có thể sử dụng câu lệnh IF Rồi khác để phân tích một điều kiện và chạy mã nếu đúng (hoặc mã khác nếu sai).
- Bạn không thể vượt qua các đối số trong một thủ tục macro: Khi bạn ghi lại một macro, nó sẽ không bao giờ có bất kỳ đối số nào. Một chương trình con có thể lấy các đối số đầu vào có thể được sử dụng trong macro để thực hiện một nhiệm vụ. Trong khi ghi macro, điều này không thể thực hiện được vì các macro đã ghi là độc lập và không được kết nối với bất kỳ macro hiện có nào khác.
Tiện ích mở rộng tệp được bật Macro
Khi bạn ghi lại một macro, hoặc bạn viết mã VBA theo cách thủ công trong Excel, bạn cần phải lưu tệp bằng phần mở rộng tệp được bật macro (.xlsm).
Trước Excel 2007, có một định dạng tệp duy nhất được sử dụng để đủ – .xls.
Nhưng từ năm 2007 trở đi, .xlsx được giới thiệu là phần mở rộng tệp tiêu chuẩn. Các tệp được lưu dưới dạng .xlsx không thể chứa macro trong đó. Vì vậy, nếu bạn có một tệp có phần mở rộng .xlsx và bạn ghi / ghi macro và lưu nó, nó sẽ cảnh báo bạn lưu nó ở định dạng hỗ trợ macro và hiển thị cho bạn hộp thoại (như được hiển thị bên dưới):
Nếu bạn chọn Không, Excel cho phép bạn lưu nó ở định dạng hỗ trợ macro. Nhưng nếu bạn bấm Có, Excel sẽ tự động xóa tất cả mã khỏi sổ làm việc của bạn và lưu nó dưới dạng sổ làm việc .xlsx.
Vì vậy, nếu bạn có macro trong sổ làm việc của mình, bạn cần lưu nó ở định dạng .xlsm để giữ macro đó.
Các cách khác nhau để chạy Macro trong Excel
Nhưng có một số cách bạn có thể chạy macro.
- Chạy Macro từ Ribbon (Tab nhà phát triển)
- Sử dụng phím tắt (bạn phải gán)
- Gán Macro cho một Shape
- Gán Macro cho nút
- Chạy một Macro từ VB Editor
DienDan.Edu.Vn Cám ơn bạn đã quan tâm và rất vui vì bài viết đã đem lại thông tin hữu ích cho bạn.DienDan.Edu.Vn! là một website với tiêu chí chia sẻ thông tin,... Bạn có thể nhận xét, bổ sung hay yêu cầu hướng dẫn liên quan đến bài viết. Vậy nên đề nghị các bạn cũng không quảng cáo trong comment này ngoại trừ trong chính phần tên của bạn.Cám ơn.