Macro Excel - Hướng dẫn nhanh
Macro Excel là một hành động hoặc một tập hợp các hành động mà bạn có thể ghi lại, đặt tên, lưu và chạy bao nhiêu lần tùy ý và bất cứ khi nào bạn muốn. Khi bạn tạo macro, bạn đang ghi lại các lần nhấp chuột và tổ hợp phím. Khi bạn chạy macro đã lưu, các lần nhấp chuột và tổ hợp phím được ghi lại sẽ được thực hiện theo trình tự giống như chúng được ghi lại.
Macro giúp bạn tiết kiệm thời gian cho các công việc lặp đi lặp lại liên quan đến thao tác dữ liệu và các báo cáo dữ liệu được yêu cầu thực hiện thường xuyên.
Macro và VBA
Bạn có thể ghi và chạy macro bằng lệnh Excel hoặc từ Excel VBA.
VBA là viết tắt của Visual Basic for Applications và là một ngôn ngữ lập trình đơn giản có sẵn thông qua Excel Visual Basic Editor (VBE), có sẵn từ tab DEVELOPER trên Ribbon. Khi bạn ghi macro, Excel sẽ tạo mã VBA. Nếu bạn chỉ muốn ghi một macro và chạy nó, thì không cần phải học Excel VBA. Tuy nhiên, nếu bạn muốn sửa đổi macro, thì bạn chỉ có thể thực hiện bằng cách sửa đổi mã VBA trong trình chỉnh sửa VBA của Excel.
Bạn sẽ học cách ghi một macro đơn giản và chạy nó bằng các lệnh Excel trong chương - Tạo một macro đơn giản. Bạn sẽ tìm hiểu thêm về macro và cách tạo và / hoặc sửa đổi macro từ trình soạn thảo VBA của Excel trong các chương sau.
Sổ làm việc Macro Cá nhân
Một macro có thể được lưu trong cùng một sổ làm việc từ nơi bạn đã ghi nó. Trong trường hợp đó, bạn chỉ có thể chạy macro từ sổ làm việc đó và do đó bạn nên giữ nó mở. Excel cung cấp cho bạn một cách thay thế để lưu trữ tất cả các macro của bạn. Đây là sổ làm việc macro cá nhân, nơi bạn có thể lưu các macro của mình, cho phép bạn chạy các macro đó từ bất kỳ sổ làm việc nào.
Bạn sẽ tìm hiểu về Sổ làm việc Macro Cá nhân trong chương - Lưu tất cả các Macro của bạn trong một Sổ làm việc.
Bảo mật Macro
Macro sẽ được lưu trữ dưới dạng mã VBA trong Excel. Giống như trường hợp của bất kỳ mã nào khác, mã macro cũng dễ bị nhiễm mã độc hại có thể chạy khi bạn mở sổ làm việc. Đây là một mối đe dọa cho máy tính của bạn. Microsoft đã cung cấp cơ sở Bảo mật Macro để giúp bạn bảo vệ máy tính của mình khỏi những loại virus macro như vậy.
Bạn sẽ tìm hiểu thêm về điều này trong chương - Bảo mật Macro.
Tài liệu tham khảo tuyệt đối và tài liệu tham khảo tương đối
Trong khi ghi macro, bạn có thể sử dụng tham chiếu tuyệt đối hoặc tham chiếu tương đối cho các ô mà bạn đang nhấp vào. Tham chiếu tuyệt đối làm cho macro của bạn chạy tại cùng các ô mà bạn đã ghi macro. Mặt khác, tham chiếu tương đối làm cho macro của bạn chạy tại ô hiện hoạt.
Bạn sẽ tìm hiểu về những điều này trong các chương - Sử dụng Tham chiếu Tuyệt đối cho Macro và Sử dụng Tham chiếu Tương đối cho Macro.
Mã macro trong VBA
Bạn có thể ghi và chạy macro từ Excel ngay cả khi bạn không biết Excel VBA. Tuy nhiên, nếu bạn phải sửa đổi macro đã ghi hoặc tạo macro bằng cách viết mã VBA, bạn nên học Excel VBA. Bạn có thể tham khảo hướng dẫn Excel VBA trong thư viện hướng dẫn này để biết
Tuy nhiên, bạn nên biết cách xem mã macro. Bạn có thể tìm hiểu cách truy cập trình soạn thảo VBA trong Excel và về các phần khác nhau của trình soạn thảo VBA trong chương - Excel VBA.
Bạn có thể tìm hiểu cách xem mã macro trong trình soạn thảo VBA trong Excel và bạn có thể hiểu mã macro trong chương - Hiểu mã macro.
Gán Macro cho các đối tượng
Bạn có thể gán macro cho một đối tượng như hình dạng hoặc đồ họa hoặc một điều khiển. Sau đó, bạn có thể chạy macro bằng cách nhấp vào đối tượng đó. Bạn sẽ tìm hiểu về điều này trong chương - Gán Macro cho Đối tượng.
Chạy Macro
Excel cung cấp một số cách để chạy macro. Bạn có thể chọn cách bạn muốn chạy macro. Bạn sẽ tìm hiểu về những cách chạy macro có thể có trong chương - Chạy Macro.
Tạo Macro bằng VBA Editor
Nếu bạn quyết định viết mã macro, bạn có thể tìm hiểu nó trong chương - Tạo Macro bằng VBA Editor. Tuy nhiên, điều kiện tiên quyết là bạn phải có kiến thức VBA Excel.
Chỉnh sửa Macro
Bạn có thể sửa đổi mã macro trong trình soạn thảo VBA của Excel. Nếu bạn muốn thực hiện các thay đổi sâu rộng, bạn nên có kiến thức VBA trong Excel. Tuy nhiên, nếu bạn chỉ muốn thực hiện những thay đổi nhỏ đối với mã hoặc nếu bạn muốn sao chép mã VBA từ một macro đã ghi sang một macro khác, bạn có thể tham khảo chương - Chỉnh sửa Macro.
Bạn có thể đổi tên một macro và thậm chí xóa nó. Bạn cũng sẽ tìm hiểu về điều này trong cùng chương.
Biểu mẫu người dùng
Một Biểu mẫu thường được sử dụng để thu thập thông tin cần thiết. Nó sẽ tự giải thích làm cho nhiệm vụ trở nên đơn giản. Biểu mẫu người dùng Excel được tạo từ trình soạn thảo VBA của Excel phục vụ cùng mục đích, cung cấp các tùy chọn quen thuộc như hộp văn bản, hộp kiểm, nút radio, hộp danh sách, hộp tổ hợp, thanh cuộn, v.v. làm điều khiển.
Bạn sẽ học cách tạo Biểu mẫu người dùng và cách sử dụng các điều khiển khác nhau trong chương - Biểu mẫu người dùng.
Gỡ lỗi mã Macro
Đôi khi, một macro có thể không chạy như mong đợi. Bạn có thể đã tạo macro hoặc bạn có thể đang sử dụng macro do ai đó cung cấp cho bạn. Bạn có thể gỡ lỗi mã macro giống như bạn gỡ lỗi bất kỳ mã nào khác để phát hiện ra các lỗi và sửa chúng. Bạn sẽ tìm hiểu về điều này trong chương - Gỡ lỗi mã Macro.
Định cấu hình Macro để chạy khi mở sổ làm việc
Bạn có thể làm cho macro của mình tự động chạy khi bạn mở một sổ làm việc. Bạn có thể làm điều này bằng cách tạo macro Auto_Run hoặc bằng cách viết mã VBA cho sự kiện mở sổ làm việc. Bạn sẽ tìm hiểu điều này trong chương - Cấu hình Macro để chạy khi mở Workbook.
Bạn có thể tạo macro bằng các lệnh Excel bằng cách ghi lại các lần nhấn phím và nhấp chuột, đặt tên cho macro và chỉ định cách lưu trữ macro. Do đó, một macro được ghi lại có thể được chạy bằng lệnh Excel.
Giả sử bạn phải thu thập nhiều lần các kết quả nhất định ở định dạng sau:
Thay vì tạo bảng mỗi lần, bạn có thể có macro để làm việc đó cho bạn.
Ghi Macro
Để ghi macro, hãy làm như sau:
- Nhấp vào tab CHẾ ĐỘ XEM trên Ruy-băng.
- Bấm Macro trong nhóm Macro.
- Chọn Ghi Macro từ danh sách thả xuống.
Các Record Macro hộp thoại xuất hiện.
Kiểu MyFirstMacro trong hộp tên Macro.
Kiểu A Simple Macro trong hộp Mô tả và bấm OK.
Hãy nhớ rằng bất kỳ thao tác nhấn phím và nhấp chuột nào bạn làm, sẽ được ghi lại ngay bây giờ.
Bấm vào ô B2.
Tạo bảng.
Bấm vào một ô khác trong trang tính.
Nhấp vào tab CHẾ ĐỘ XEM trên Ruy-băng.
Nhấp vào Macro.
Lựa chọn Stop Recording từ danh sách thả xuống.
Ghi macro của bạn đã hoàn tất.
Bước đầu tiên để nhấp vào một ô cụ thể rất quan trọng vì nó cho biết vị trí chính xác mà macro phải bắt đầu đặt các bước đã ghi. Sau khi hoàn tất việc ghi âm, bạn phải nhấp vào Dừng ghi để tránh ghi lại các bước không cần thiết.
Chạy Macro
Bạn có thể chạy macro mà bạn đã ghi lại bất kỳ số lần nào bạn muốn. Để chạy macro, hãy làm như sau:
- Nhấp vào một trang tính mới.
Lưu ý ô đang hoạt động. Trong trường hợp của chúng tôi, nó là A1.
Nhấn vào VIEW trên thanh Ribbon.
Nhấp chuột Macros.
Lựa chọn View Macros từ danh sách thả xuống.
Hộp thoại Macro xuất hiện.
Chỉ macro mà bạn đã ghi mới xuất hiện trong danh sách Macro.
Bấm vào tên macro - MyFirstMacro trong hộp thoại Macro. Mô tả bạn đã nhập trong khi ghi macro sẽ được hiển thị. Mô tả macro cho phép bạn xác định mục đích bạn đã ghi macro.
Nhấp vào nút Chạy. Bảng tương tự mà bạn đã tạo trong khi ghi macro sẽ xuất hiện chỉ trong tích tắc.
Bạn đã khám phá ra cây đũa thần mà Excel cung cấp cho bạn để tiết kiệm thời gian cho những công việc trần tục. Bạn sẽ quan sát những điều sau:
Mặc dù ô hoạt động trước khi chạy macro là A1, bảng được đặt trong ô B2 như bạn đã ghi.
Ngoài ra, ô hiện hoạt trở thành E2, vì bạn đã nhấp vào ô đó trước khi dừng ghi.
Bạn có thể chạy macro trong nhiều trang tính với các ô hoạt động khác nhau trước khi chạy macro và tuân theo các điều kiện tương tự như đã cho ở trên. Chỉ cần ghi nhớ điều này và bạn sẽ hiểu sau trong hướng dẫn này tại sao nó lại xảy ra như vậy.
Bạn cũng có thể ghi macro để đặt các bước đã ghi của bạn vào ô hiện hoạt. Bạn sẽ học cách làm điều này khi bạn tiến bộ trong hướng dẫn.
Lưu trữ Macro
Bạn có thể tự hỏi làm thế nào để lưu các macro được tạo. Trong bối cảnh này, bạn cần biết -
- Lưu trữ một macro
- Lưu tệp đã bật macro
Khi bạn tạo một macro, bạn có thể chọn nơi lưu trữ macro cụ thể đó. Bạn có thể làm điều này trongRecord Macro hộp thoại.
Nhấp vào hộp - Store macro in. Ba tùy chọn sau có sẵn:
- Workbook này.
- Sổ làm việc mới.
- Sổ làm việc Macro Cá nhân
Sổ làm việc này
Đây là tùy chọn mặc định. Macro sẽ được lưu trữ trong sổ làm việc hiện tại của bạn từ nơi bạn đã tạo macro.
Sổ làm việc mới
Tùy chọn này, mặc dù có sẵn, không được khuyến khích. Bạn sẽ yêu cầu Excel lưu trữ macro trong một sổ làm việc mới khác và hầu hết là không cần thiết.
Sổ làm việc Macro Cá nhân
Nếu bạn tạo một số macro mà bạn sử dụng trên các sổ làm việc của mình, Sổ làm việc Macro Cá nhân cung cấp cho bạn cơ sở để lưu trữ tất cả các macro tại một nơi. Bạn sẽ tìm hiểu thêm về tùy chọn này trong chương tiếp theo.
Lưu một tệp đã bật Macro
Nếu bạn đã chọn This Workbook là tùy chọn để lưu trữ macro, bạn sẽ cần lưu sổ làm việc của mình cùng với macro.
Cố gắng lưu sổ làm việc. Theo mặc định, bạn sẽ yêu cầu Excel lưu sổ làm việc dưới dạng tệp .xls. Excel hiển thị thông báo cho biết không thể lưu dự án VB tính năng Excel trong sổ làm việc không có macro, như được hiển thị bên dưới.
Note- Nếu bạn bấm Có, Excel sẽ lưu sổ làm việc của bạn dưới dạng tệp .xls miễn phí macro và macro mà bạn đã lưu trữ với tùy chọn Sổ làm việc này sẽ không được lưu. Để tránh điều này, Excel cung cấp cho bạn một tùy chọn để lưu sổ làm việc của bạn dưới dạng một sổ làm việc hỗ trợ macro sẽ có phần mở rộng .xlsm.
- Bấm Không trong hộp thông báo cảnh báo.
- Chọn Excel Macro-Enabled Workbook (* .xlsm) trong loại Lưu dưới dạng.
- Nhấp vào để lưu.
Bạn sẽ tìm hiểu thêm về những điều này trong các chương sau của hướng dẫn này.
Excel cung cấp cho bạn một phương tiện để lưu trữ tất cả các macro của bạn trong một sổ làm việc. Sổ làm việc được gọi là Sổ làm việc Macro Cá nhân - Personal.xlsb. Đây là một sổ làm việc ẩn được lưu trữ trên máy tính của bạn, sẽ mở ra mỗi khi bạn mở Excel. Điều này cho phép bạn chạy macro của mình từ bất kỳ sổ làm việc nào. Sẽ có một Sổ làm việc Macro Cá nhân trên mỗi máy tính và bạn không thể chia sẻ nó trên các máy tính. Bạn có thể xem và chạy các macro trong Sổ làm việc Macro Cá nhân của mình từ bất kỳ sổ làm việc nào trên máy tính của bạn.
Lưu Macro trong Sổ làm việc Macro Cá nhân
Bạn có thể lưu macro trong Sổ làm việc Macro Cá nhân của mình bằng cách chọn nó làm tùy chọn lưu trữ trong khi ghi macro.
Chọn Sổ làm việc Macro Cá nhân từ danh sách thả xuống trong danh mục Store macro in.
- Ghi lại macro thứ hai của bạn.
- Cung cấp chi tiết macro trong hộp thoại Record Macro như hình dưới đây.
- Bấm OK.
Quá trình ghi của bạn bắt đầu. Tạo một bảng như hình bên dưới.
Dừng ghi.
Nhấp vào tab CHẾ ĐỘ XEM trên Ruy-băng.
Nhấp vào Macro.
Lựa chọn View Macrostừ danh sách thả xuống. Hộp thoại Macro xuất hiện.
Tên macro xuất hiện với tiền tố PERSONAL.XLSB! cho biết Macro nằm trong Sổ làm việc Macro Cá nhân.
Lưu sổ làm việc của bạn. Nó sẽ được lưu dưới dạng tệp .xls vì macro không có trong sổ làm việc của bạn và đóng Excel.
Bạn sẽ nhận được thông báo sau về việc lưu các thay đổi vào Sổ làm việc Macro Cá nhân -
Nhấp vào nút Lưu. Macro của bạn được lưu trongPersonal.xlsb tệp trên máy tính của bạn.
Ẩn / Hiện Sổ làm việc Macro Cá nhân
Theo mặc định, Personal Macro Workbook sẽ bị ẩn. Khi bạn khởi động Excel, sổ làm việc macro cá nhân được tải nhưng bạn không thể nhìn thấy nó vì nó bị ẩn. Bạn có thể hiện nó như sau:
Nhấn vào VIEW trên thanh Ribbon.
Bấm Bỏ ẩn trong nhóm Cửa sổ.
Hộp thoại Bỏ ẩn xuất hiện.
PERSONAL.XLSB xuất hiện trong hộp Bỏ ẩn sổ làm việc và bấm OK.
Bây giờ bạn có thể xem các macro được lưu trong sổ làm việc macro cá nhân.
Để ẩn sổ làm việc macro cá nhân, hãy làm như sau:
- Bấm vào sổ làm việc macro cá nhân.
- Nhấp vào tab CHẾ ĐỘ XEM trên Ruy-băng.
- Bấm Ẩn trên Ruy-băng.
Chạy Macro được Lưu trong Sổ làm việc Macro Cá nhân
Bạn có thể chạy các macro được lưu trong sổ làm việc macro cá nhân từ bất kỳ sổ làm việc nào. Để chạy macro, không tạo ra bất kỳ sự khác biệt nào cho dù sổ làm việc macro cá nhân bị ẩn hay hiện.
- Nhấp vào Xem Macro.
- Chọn tên macro từ danh sách macro.
- Nhấp vào nút Chạy. Macro sẽ chạy.
Thêm / Xóa Macro trong Sổ làm việc Macro Cá nhân
Bạn có thể thêm nhiều macro hơn trong sổ làm việc macro cá nhân bằng cách chọn nó cho Macro Store trong tùy chọn trong khi ghi macro, như bạn đã thấy trước đó.
Bạn có thể xóa một macro trong sổ làm việc macro cá nhân như sau:
- Đảm bảo rằng sổ làm việc macro cá nhân được bỏ ẩn.
- Bấm vào tên macro trong hộp thoại Xem macro.
- Nhấp vào nút Xóa.
Nếu sổ làm việc macro cá nhân bị ẩn, bạn sẽ nhận được thông báo “Không thể chỉnh sửa macro trên sổ làm việc ẩn”.
Bỏ ẩn sổ làm việc macro cá nhân và xóa macro đã chọn.
Macro sẽ không xuất hiện trong danh sách macro. Tuy nhiên, khi bạn tạo một macro mới và lưu nó trong sổ làm việc cá nhân của mình hoặc xóa bất kỳ macro nào chứa nó, bạn sẽ được nhắc lưu sổ làm việc cá nhân giống như trong trường hợp bạn đã lưu nó lần đầu tiên.
Các macro mà bạn tạo trong Excel sẽ được viết bằng ngôn ngữ lập trình VBA (Visual Basic for Applications). Bạn sẽ tìm hiểu về mã macro Excel trong các chương sau. Như bạn đã biết, khi có mã thực thi, sẽ có mối đe dọa từ vi rút. Macro cũng dễ bị nhiễm vi rút.
Virus Macro là gì?
Excel VBA trong đó Macro được viết có quyền truy cập vào hầu hết các lệnh gọi hệ thống Windows và tự động thực thi khi mở sổ làm việc. Do đó, có một mối đe dọa tiềm ẩn về sự tồn tại của vi-rút được viết dưới dạng macro và ẩn trong Excel được thực thi khi mở sổ làm việc. Do đó, macro Excel có thể rất nguy hiểm cho máy tính của bạn theo nhiều cách. Tuy nhiên, Microsoft đã thực hiện các biện pháp thích hợp để bảo vệ sổ làm việc khỏi virus macro.
Microsoft đã giới thiệu bảo mật macro để bạn có thể xác định macro nào bạn có thể tin tưởng và macro nào bạn không thể.
Macro Enabled Excel Workbooks
Tính năng bảo mật macro Excel quan trọng nhất là - phần mở rộng tệp.
Sổ làm việc Excel sẽ được lưu với phần mở rộng tệp .xlsx theo mặc định. Bạn luôn có thể tin tưởng các sổ làm việc có phần mở rộng tệp .xlsx, vì chúng không có khả năng lưu trữ macro và sẽ không mang bất kỳ mối đe dọa nào.
Sổ làm việc Excel với macro được lưu với phần mở rộng tệp .xlsm. Chúng được gọi là Sổ làm việc Excel được Kích hoạt Macro. Trước khi mở các sổ làm việc như vậy, bạn nên đảm bảo rằng các macro chứa chúng không độc hại. Đối với điều này, bạn phải đảm bảo rằng bạn có thể tin tưởng nguồn gốc của loại sổ làm việc này.
Các cách tin cậy Sổ làm việc đã bật Macro
Excel cung cấp ba cách để tin cậy một sổ làm việc hỗ trợ macro.
Đặt các sổ làm việc hỗ trợ macro trong một thư mục đáng tin cậy
Kiểm tra xem macro có được ký điện tử không
Bật thông báo cảnh báo bảo mật trước khi mở sổ làm việc hỗ trợ macro
Đặt các sổ làm việc hỗ trợ macro trong một thư mục đáng tin cậy
Đây là cách dễ nhất và tốt nhất để quản lý bảo mật vĩ mô. Excel cho phép bạn chỉ định một thư mục làm vị trí tin cậy. Đặt tất cả các sổ làm việc hỗ trợ macro của bạn vào thư mục đáng tin cậy đó. Bạn có thể mở các sổ làm việc hỗ trợ macro được lưu vào vị trí này mà không có cảnh báo hoặc hạn chế.
Kiểm tra xem macro có được ký điện tử không
Chữ ký điện tử xác nhận danh tính của tác giả. Bạn có thể định cấu hình Excel để chạy các macro được ký kỹ thuật số từ những người đáng tin cậy mà không có cảnh báo hoặc hạn chế. Excel cũng sẽ cảnh báo người nhận nếu nó đã được thay đổi kể từ khi tác giả ký tên.
Bật thông báo cảnh báo bảo mật trước khi mở sổ làm việc hỗ trợ macro
Khi bạn mở một sổ làm việc, Excel sẽ cảnh báo bạn rằng sổ làm việc có chứa macro và hỏi bạn có muốn bật chúng hay không. Bạn có thể nhấp vàoEnable Content nếu nguồn của sổ làm việc là đáng tin cậy.
Bạn có thể đặt bất kỳ tùy chọn nào trong số ba tùy chọn này trong Trung tâm tin cậy trong Tùy chọn Excel.
Nếu bạn làm việc trong một tổ chức, quản trị viên hệ thống có thể đã thay đổi cài đặt mặc định để ngăn bất kỳ ai thay đổi cài đặt. Microsoft khuyên bạn không nên thay đổi cài đặt bảo mật trong Trung tâm tin cậy vì hậu quả có thể là mất dữ liệu, đánh cắp dữ liệu hoặc xâm phạm bảo mật trên máy tính hoặc mạng của bạn.
Tuy nhiên, bạn có thể tìm hiểu cài đặt bảo mật macro trong các phần sau và kiểm tra xem chúng có được thay đổi hay không. Bạn phải sử dụng bản năng của riêng mình để quyết định bất kỳ tùy chọn nào trong số này dựa trên ngữ cảnh và kiến thức của bạn về nguồn gốc tệp.
Cài đặt bảo mật Macro trong Trung tâm tin cậy
Cài đặt macro nằm trong Trung tâm tin cậy trong Tùy chọn Excel. Để truy cập Trung tâm tin cậy, hãy làm như sau:
Bấm vào tab TỆP trên Ruy-băng.
Nhấp vào Tùy chọn. Hộp thoại Tùy chọn Excel xuất hiện.
Nhấp chuột Trust Center trong ngăn bên trái.
Nhấn vào Trust Center Settings trong Trung tâm Tin cậy Microsoft Excel.
Các Trust Center hộp thoại xuất hiện.
Bạn sẽ thấy các tùy chọn khác nhau có sẵn trong Trung tâm Tin cậy Excel ở ngăn bên trái. Bạn sẽ tìm hiểu về các tùy chọn liên quan đến macro Excel trong các phần sau.
Cài đặt Macro
Cài đặt macro được đặt trong Trung tâm tin cậy.
Trong Cài đặt Macro, có bốn tùy chọn.
Disable all macros without notification - Nếu tùy chọn này được chọn, Macro và cảnh báo bảo mật về macro sẽ bị tắt.
Disable all macros with notification- Macro bị tắt, nhưng cảnh báo bảo mật sẽ xuất hiện nếu có macro. Bạn có thể bật macro tùy theo từng trường hợp.
Disable all macros except digitally signed macros- Macro bị tắt nhưng cảnh báo bảo mật sẽ xuất hiện nếu có macro. Tuy nhiên, nếu macro được ký điện tử bởi nhà xuất bản đáng tin cậy, thì macro sẽ chạy nếu bạn tin cậy nhà xuất bản. Nếu bạn không tin tưởng nhà xuất bản, bạn sẽ được thông báo để bật macro đã ký và tin tưởng nhà xuất bản.
Enable all macros (not recommended, susceptible to macro viruses)- Nếu tùy chọn này được chọn, tất cả các macro sẽ chạy. Cài đặt này làm cho máy tính của bạn dễ bị nhiễm mã độc hại.
Bạn có một tùy chọn bảo mật bổ sung trong Cài đặt Macro dành cho nhà phát triển với hộp kiểm.
Trust access to the VBA project object model.
Tùy chọn này cho phép truy cập có lập trình vào mô hình đối tượng Visual Basic for Applications (VBA) từ một máy khách tự động hóa.
Tùy chọn bảo mật này dành cho mã được viết để tự động hóa một chương trình Office và thao tác với môi trường VBA và mô hình đối tượng.
Đây là cài đặt cho mỗi người dùng và mỗi ứng dụng, đồng thời từ chối quyền truy cập theo mặc định, cản trở các chương trình trái phép xây dựng mã tự sao chép có hại.
Để các máy khách tự động hóa truy cập vào mô hình đối tượng VBA, người dùng đang chạy mã phải cấp quyền truy cập. Để bật quyền truy cập, hãy chọn hộp kiểm.
Xác định vị trí đáng tin cậy
Nếu bạn cho rằng sổ làm việc hỗ trợ macro là từ một nguồn đáng tin cậy, tốt hơn là nên di chuyển tệp đến vị trí đáng tin cậy được Excel xác định, thay vì thay đổi cài đặt Trung tâm tin cậy mặc định thành cài đặt bảo mật macro kém an toàn hơn.
Bạn có thể tìm cài đặt thư mục tin cậy trong Trung tâm tin cậy.
Bấm vào Vị trí Tin cậy trong hộp thoại Trung tâm Tin cậy. Vị trí tin cậy do Microsoft Office đặt xuất hiện ở bên phải.
Bạn có thể thêm các vị trí mới, xóa các vị trí hiện có và sửa đổi các vị trí hiện có. Các vị trí đáng tin cậy đã xác định sẽ được Microsoft office coi là đáng tin cậy để mở tệp. Tuy nhiên, nếu bạn thêm hoặc sửa đổi một vị trí, hãy đảm bảo rằng vị trí đó an toàn.
Bạn cũng có thể tìm thấy các tùy chọn mà văn phòng không đề xuất, chẳng hạn như địa điểm trên internet.
Macro được ký số từ các nguồn đáng tin cậy
Microsoft cung cấp một tùy chọn để chứa các macro được ký kỹ thuật số. Tuy nhiên, ngay cả khi macro được ký điện tử, bạn cần đảm bảo rằng macro đó đến từ một nhà xuất bản đáng tin cậy.
Bạn sẽ tìm thấy các nhà xuất bản đáng tin cậy trong Trung tâm Tin cậy.
Nhấp chuột Trusted Publisherstrong hộp thoại Trung tâm tin cậy. Danh sách các chứng chỉ xuất hiện ở phía bên phải với các chi tiết - Được cấp cho, cấp bởi và ngày hết hạn.
Chọn một chứng chỉ và nhấp vào Xem.
Thông tin chứng chỉ được hiển thị.
Như bạn đã tìm hiểu trước đó trong chương này, bạn có thể đặt một tùy chọn để chạy macro chỉ được ký điện tử nếu bạn tin tưởng nhà xuất bản. Nếu bạn không tin tưởng nhà xuất bản, bạn sẽ được thông báo để bật macro đã ký và tin tưởng nhà xuất bản.
Sử dụng thông báo cảnh báo
Thanh Thông báo hiển thị cảnh báo bảo mật khi có macro trong tệp mà bạn đang mở. Thanh Thông báo màu vàng có biểu tượng chiếc khiên cảnh báo bạn rằng các macro đã bị tắt.
Nếu bạn biết rằng macro hoặc các macro là từ một nguồn đáng tin cậy, bạn có thể nhấp vào nút Bật Nội dung trên Thanh Thông báo, để bật các macro.
Bạn có thể tắt tùy chọn Thanh thông báo nếu không muốn có cảnh báo bảo mật. Mặt khác, bạn có thể bật tùy chọn Message Bar để tăng tính bảo mật.
Bật / Tắt Cảnh báo Bảo mật trên Thanh Thông báo
Bạn có thể bật / tắt cảnh báo bảo mật với Thanh thông báo như sau:
- Bấm vào tab TỆP trên Ruy-băng.
- Nhấp vào Tùy chọn. Hộp thoại Tùy chọn Excel xuất hiện.
- Nhấp vào Trung tâm tin cậy.
- Nhấp vào nút Cài đặt Trung tâm Tin cậy.
- Nhấp vào Thanh thông báo.
Cài đặt Thanh Thông báo cho tất cả các Ứng dụng Office sẽ xuất hiện.
Có hai tùy chọn trong - Showing the Message Bar.
Option 1 - Hiển thị Thanh Thông báo trong tất cả các ứng dụng khi nội dung đang hoạt động như macro bị chặn.
Đây là tùy chọn mặc định. Thanh Thông báo xuất hiện khi nội dung không an toàn tiềm ẩn đã bị vô hiệu hóa.
Nếu bạn đã chọn - Disable all macros without notification in the Macro Settings of the Trust Center, tùy chọn này không được chọn và Thanh Thông báo không xuất hiện.
Option 2 - Không bao giờ hiển thị thông tin về nội dung bị chặn.
Nếu tùy chọn này nếu được chọn, nó sẽ tắt Thanh Thông báo và không có cảnh báo nào xuất hiện về các vấn đề bảo mật, bất kể bất kỳ cài đặt bảo mật nào trong Trung tâm Tin cậy.
Macro Excel có thể được ghi lại bằng tham chiếu tuyệt đối hoặc tham chiếu tương đối. Macro được ghi lại với tham chiếu tuyệt đối đặt chính xác các bước đã ghi vào các ô nơi nó được ghi lại, bất kể ô đang hoạt động. Mặt khác, macro được ghi lại với các tham chiếu tương đối có thể thực hiện các tác vụ đã ghi ở các phần khác nhau trên trang tính.
Bạn sẽ tìm hiểu về tham chiếu tuyệt đối cho macro trong chương này. Bạn sẽ tìm hiểu về tài liệu tham khảo tương đối trong chương tiếp theo.
Giả sử bạn phải gửi báo cáo về công việc của nhóm vào cuối mỗi ngày theo định dạng sau:
Bây giờ, báo cáo sẽ được đặt trong ô B2 và phải ở định dạng đã cho.
Một mẫu được điền vào báo cáo sẽ như hình dưới đây -
Ngoại trừ dữ liệu trong các ô sau, thông tin là không đổi cho mọi báo cáo mà bạn tạo cho dự án.
- C3 - Báo cáo cho ngày.
- C13 - Số công việc đã hoàn thành hôm nay.
- C14 - Tổng số công việc đã hoàn thành.
- C15 -% Công việc Hoàn thành.
Trong số này, trong C3 (Báo cáo cho ngày), bạn có thể đặt hàm Excel = TODAY ()sẽ đặt ngày báo cáo của bạn mà không cần sự can thiệp của bạn. Hơn nữa, trong ô C15, bạn có thể có công thức C14 / C12 và định dạng ô C15 theo tỷ lệ phần trăm để Excel tính% Công việc Hoàn thành cho bạn.
Điều này khiến bạn chỉ có hai ô - C13 và C14 cần được bạn điền vào mỗi ngày. Do đó, sẽ là lý tưởng nhất nếu bạn có thông tin cho các ô còn lại, mỗi khi bạn phải tạo báo cáo. Điều này tiết kiệm thời gian cho bạn và bạn có thể thực hiện hoạt động báo cáo thông thường chỉ trong vài phút.
Bây giờ, giả sử bạn phải gửi các báo cáo như vậy cho ba dự án. Bạn có thể tưởng tượng khoảng thời gian mà bạn có thể tiết kiệm và nhận những công việc khó khăn hơn trong ngày và tất nhiên sẽ nhận được những lời khen từ cấp quản lý của bạn.
Bạn có thể đạt được điều này bằng cách ghi lại macro cho mỗi dự án và chạy chúng hàng ngày để tạo các báo cáo cần thiết chỉ trong vài phút. Tuy nhiên, mỗi khi bạn chạy macro, báo cáo sẽ xuất hiện trên trang tính như đã cho ở trên, bất kể ô đang hoạt động. Đối với điều này, bạn phải sử dụng tham chiếu tuyệt đối.
Đảm bảo tài liệu tham khảo tuyệt đối
Để ghi macro với tham chiếu tuyệt đối, bạn phải đảm bảo rằng macro đang được ghi bắt đầu từ ô mà các bước phải bắt đầu. Điều này có nghĩa là, trong trường hợp của ví dụ được đưa ra trong phần trước, bạn cần làm như sau:
- Bắt đầu ghi macro.
- Tạo một trang tính mới.
- Bấm vào bất kỳ ô nào ngoài B2 trong trang tính mới.
- Bấm vào ô B2.
- Tiếp tục ghi macro.
Thao tác này sẽ tạo một trang tính mới cho mọi báo cáo mới và lấy định dạng báo cáo được đặt trong ô B2 mỗi khi bạn chạy macro.
Note - Ba bước đầu tiên được đưa ra ở trên là rất cần thiết.
Nếu bạn không tạo một trang tính mới, khi bạn chạy macro, macro sẽ đặt bất cứ thứ gì bạn đã ghi trên cùng một trang tính vào cùng một vị trí. Đây không phải điều bạn muốn. Bạn cần có mọi báo cáo trên một trang tính khác nhau.
Nếu bạn không bấm vào một ô khác khi bắt đầu ghi, ngay cả khi ô hiện hoạt là B2, Excel sẽ đặt các bước đã ghi vào ô hiện hoạt. Khi bạn chạy macro, nó sẽ đặt định dạng báo cáo đã ghi ở bất kỳ phần nào của trang tính dựa trên ô hiện hoạt. Bằng cách nhấp rõ ràng vào ô không phải B2 và sau đó là ô B2, bạn đang yêu cầu trình ghi luôn đặt các bước macro của bạn trong ô B2.
Ghi Macro
Bạn có thể bắt đầu ghi macro với Record Macrotrên Ruy-băng trong tab CHẾ ĐỘ XEM → Macro. Bạn cũng có thể nhấp vàoStart Recording Macro nút hiện diện ở bên trái của thanh tác vụ Excel.
Bắt đầu ghi macro. CácRecord Macro hộp thoại xuất hiện.
Đặt tên có ý nghĩa để xác định macro dưới dạng báo cáo của một dự án cụ thể.
Chọn Sổ làm việc này trong Store macro in, vì bạn sẽ chỉ tạo báo cáo từ sổ làm việc cụ thể này.
Đưa ra mô tả cho macro của bạn và nhấp vào OK.
Macro của bạn bắt đầu ghi.
Tạo một trang tính mới. Điều này đảm bảo báo cáo mới của bạn sẽ nằm trên một trang tính mới.
Bấm vào bất kỳ ô nào ngoài B2 trong trang tính mới.
Bấm vào ô B2. Điều này đảm bảo rằng macro luôn đặt các bước đã ghi của bạn trong B2.
Tạo định dạng cho báo cáo.
Điền thông tin tĩnh cho báo cáo dự án.
Đặt = TODAY () vào C3 và = C14 / C12 vào ô C15.
Định dạng các ô với ngày tháng.
Dừng ghi macro.
Bạn có thể dừng ghi macro bằng Stop Recording trên Ruy-băng trong tab XEM → Macro hoặc bằng cách nhấp vào nút Dừng ghi Macro có ở bên trái của thanh tác vụ Excel.
Macro Báo cáo Dự án của bạn đã sẵn sàng. Lưu sổ làm việc dưới dạng sổ làm việc hỗ trợ macro (với phần mở rộng .xlsm).
Chạy Macro
Bạn có thể tạo bất kỳ số lượng báo cáo nào trong vài giây chỉ bằng cách chạy macro.
- Nhấp vào nút XEM trên Ribbon.
- Nhấp vào Macro.
- Chọn Xem Macro từ danh sách thả xuống. Hộp thoại Macro xuất hiện.
- Nhấp vào macro Report_ProjectXYZ.
- Nhấp vào nút Chạy.
Một trang tính mới sẽ được tạo trong sổ làm việc của bạn, với bảng báo cáo được tạo trong đó trong ô B2.
Macro tham chiếu tương đối ghi lại độ lệch từ ô hiện hoạt. Các macro như vậy sẽ hữu ích nếu bạn phải lặp lại các bước ở nhiều vị trí khác nhau trong trang tính.
Giả sử bạn được yêu cầu phân tích dữ liệu về cử tri được thu thập từ 280 khu vực bầu cử. Đối với mỗi khu vực bầu cử, các chi tiết sau được thu thập:
- Tên cơ quan.
- Tổng dân số trong khu vực bầu cử.
- Số lượng cử tri trong khu vực bầu cử.
- Số lượng cử tri nam và
- Số lượng cử tri nữ.
Dữ liệu được cung cấp cho bạn trong một trang tính như dưới đây.
Không thể phân tích dữ liệu ở định dạng trên. Do đó, hãy sắp xếp dữ liệu trong một bảng như hình dưới đây.
Nếu bạn cố gắng sắp xếp dữ liệu đã cho theo định dạng trên -
Phải mất một lượng thời gian đáng kể để sắp xếp dữ liệu từ 280 khu vực bầu cử
Nó có thể dễ bị lỗi
Nó trở thành một nhiệm vụ trần tục không cho phép bạn tập trung vào những thứ kỹ thuật
Giải pháp là ghi lại một macro để bạn có thể hoàn thành nhiệm vụ trong thời gian không quá vài giây. Macro cần sử dụng tham chiếu tương đối, vì bạn sẽ di chuyển xuống các hàng trong khi sắp xếp dữ liệu.
Sử dụng tài liệu tham khảo tương đối
Để cho trình ghi macro biết rằng nó phải sử dụng tham chiếu tương đối, hãy làm như sau:
Nhấn vào VIEW trên thanh Ribbon.
Nhấp chuột Macros.
Nhấp chuột Use Relative References.
Chuẩn bị định dạng dữ liệu
Bước đầu tiên trong việc sắp xếp dữ liệu đã cho ở trên là xác định định dạng dữ liệu trong một bảng có tiêu đề.
Tạo hàng tiêu đề như hình dưới đây.
Ghi Macro
Ghi lại macro như sau:
Bấm Ghi Macro.
Đặt tên có ý nghĩa, chẳng hạn như DataArrange cho macro.
Gõ = row ()- 3trong ô B4. Điều này là do S. Số là số hàng hiện tại - 3 hàng phía trên nó.
Cắt các ô B5, B6, B7, B8 và B9 và dán nó vào các ô C4 đến C8 tương ứng.
Bây giờ hãy nhấp vào ô B5. Bảng của bạn trông như hình dưới đây.
Tập dữ liệu đầu tiên được sắp xếp ở hàng đầu tiên của bảng. Xóa các hàng B6 - B11 và nhấp vào ô B5.
Bạn có thể thấy rằng ô đang hoạt động là B5 và tập dữ liệu tiếp theo sẽ được đặt ở đây.
Dừng ghi macro. Macro của bạn để sắp xếp dữ liệu đã sẵn sàng.
Chạy Macro
Bạn cần chạy macro nhiều lần để hoàn thành việc sắp xếp dữ liệu trong bảng như dưới đây.
Ô hoạt động là B5. Chạy macro. Tập dữ liệu thứ hai sẽ được sắp xếp ở hàng thứ hai của bảng và ô hiện hoạt sẽ là B6.
Chạy lại macro. Tập dữ liệu thứ ba sẽ được sắp xếp ở hàng thứ ba của bảng và ô hiện hoạt sẽ trở thành B7.
Mỗi lần bạn chạy macro, ô hiện hoạt sẽ chuyển sang hàng tiếp theo, tạo điều kiện cho việc lặp lại các bước đã ghi ở các vị trí thích hợp. Điều này có thể thực hiện được vì các tham chiếu tương đối trong macro.
Chạy macro cho đến khi tất cả 280 tập dữ liệu được sắp xếp thành 280 hàng trong bảng. Quá trình này mất vài giây và vì các bước được tự động hóa nên toàn bộ bài tập không có lỗi.
Excel lưu trữ macro dưới dạng mã Excel VBA (Visual Basic for Applications). Sau khi ghi macro, bạn có thể xem mã được tạo, sửa đổi nó, sao chép một phần của nó, v.v. Bạn thậm chí có thể tự viết mã macro nếu bạn cảm thấy thoải mái với việc lập trình trong VBA.
Bạn sẽ học cách tạo macro, bằng cách viết mã VBA, trong chương - Tạo Macro Sử dụng VBA Editor. Bạn sẽ học cách sửa đổi macro bằng cách chỉnh sửa mã VBA trong chương - Chỉnh sửa Macro. Bạn sẽ tìm hiểu các tính năng VBA trong Excel trong chương này.
Tab Nhà phát triển trên Ribbon
Bạn có thể truy cập mã macro trong VBA từ tab Nhà phát triển trên Ribbon.
Nếu bạn không tìm thấy tab Nhà phát triển trên Ribbon, bạn cần thêm nó như sau:
Nhấp chuột phải vào Ribbon.
Lựa chọn Customize the Ribbon từ danh sách thả xuống.
Các Excel Options hộp thoại xuất hiện.
Lựa chọn Main Tabs từ Customize the Ribbon danh sách thả xuống.
Chọn hộp - Nhà phát triển trong danh sách Tab chính và nhấp vào OK. Tab nhà phát triển xuất hiện.
Lệnh nhà phát triển cho Macro
Bạn cần biết các lệnh dành cho macro trong tab nhà phát triển.
Nhấp vào tab DEVELOPER trên Ribbon. Các lệnh sau có sẵn trong nhóm Mã:
- Ngôn ngữ lập trình
- Macros
- Ghi Macro
- Sử dụng tài liệu tham khảo tương đối
- Bảo mật Macro
Lệnh Visual Basic được sử dụng để mở VBA Editor trong Excel và lệnh Macros được sử dụng để xem, chạy và xóa macro.
Bạn đã học các lệnh khác với VBA Editor trong các chương trước.
Trình chỉnh sửa VBA
VBA Editor hoặc VBE là nền tảng nhà phát triển cho VBA trong Excel.
Mở sổ làm việc - MyFirstMacro.xlsm mà bạn đã lưu trước đó trong chương - Tạo Macro Đơn giản, trong hướng dẫn này.
Bạn có thể mở VBE bằng bất kỳ cách nào trong hai cách sau:
Option 1 - Bấm Visual Basic trong nhóm Mã dưới tab Nhà phát triển trên Ruy-băng.
Option 2 - Nhấp vào Chỉnh sửa trong hộp thoại Macro xuất hiện khi bạn nhấp vào tab XEM → Macro → Xem Macro
VBE xuất hiện trong một cửa sổ mới.
Tên sổ làm việc hỗ trợ macro Excel của bạn xuất hiện với tiền tố - Microsoft Visual Basic for Applications.
Bạn sẽ tìm thấy thông tin sau trong VBE -
- Trình khám phá dự án.
- Properties.
- Cửa sổ mô-đun với Mã.
Trình khám phá dự án
Project Explorer là nơi bạn tìm thấy tên dự án VBA. Trong một dự án, bạn sẽ tìm thấy tên Trang tính và tên Mô-đun. Khi bạn nhấp vào tên mô-đun, mã tương ứng sẽ xuất hiện ở phía bên phải trong một cửa sổ.
Cửa sổ thuộc tính
Thuộc tính là các tham số cho các đối tượng VBA. Khi bạn có một đối tượng như nút lệnh, các thuộc tính của nó sẽ xuất hiện trong cửa sổ Thuộc tính.
Cửa sổ mô-đun có mã
Mã của macro sẽ được lưu trữ trong một mô-đun trong VBA. Khi bạn chọn một macro và nhấp vào Chỉnh sửa, mã của macro sẽ xuất hiện trong cửa sổ mô-đun tương ứng.
Khi bạn ghi macro, Excel sẽ lưu trữ nó dưới dạng mã VBA. Bạn có thể xem mã này trong trình soạn thảo VBA. Bạn có thể hiểu mã và sửa đổi nó nếu bạn có kiến thức đáng kể về Excel VBA. Bạn có thể tham khảo hướng dẫn Excel VBA trong thư viện hướng dẫn này để nắm bắt ngôn ngữ này.
Tuy nhiên, bạn vẫn có thể xem mã macro trong trình soạn thảo VBA của Excel và khớp nó với các bước mà bạn đã ghi trong macro. Bạn sẽ học cách xem mã và hiểu nó đối với macro đầu tiên mà bạn đã tạo trong hướng dẫn này - MyFirstMacro.
Xem mã Macro trong VBA Editor
Để xem mã macro, hãy làm như sau:
- Mở sổ làm việc mà bạn đã lưu macro.
- Nhấp vào XEM tab trên Ruy-băng.
- Nhấp vào Macro.
- Chọn Xem Macro từ danh sách thả xuống.
Hộp thoại Macro xuất hiện.
- Nhấp vào MyFirstMacro trong danh sách macro.
- Nhấp vào nút Chỉnh sửa.
Trình chỉnh sửa VBA mở ra và mã của macro MyFirstMacro xuất hiện.
Hiểu các hành động được ghi lại như một phần của mã
Bạn có thể duyệt qua mã macro và ánh xạ chúng với các bước đã ghi của bạn.
- Bắt đầu đọc mã.
- Ánh xạ mã đến các bước đã ghi.
Cuộn xuống mã để xem thêm mã. Ngoài ra, bạn có thể phóng to cửa sổ mã.
Quan sát rằng mã là đơn giản. Nếu bạn học Excel VBA, bạn có thể tạo macro bằng cách viết mã trong trình soạn thảo VBA.
Bạn sẽ học cách viết mã VBA để tạo macro trong chương - Tạo Macro Sử dụng VBA Editor.
Giả sử bạn đã tạo một macro mà bạn cần thực thi nhiều lần. Ví dụ: macro mà bạn đã tạo cho tham chiếu tuyệt đối và tham chiếu tương đối. Sau đó, sẽ dễ dàng cho bạn nếu bạn có thể chạy macro bằng cách nhấp chuột. Bạn có thể thực hiện điều này bằng cách gán macro cho một đối tượng như hình dạng hoặc đồ họa hoặc một điều khiển.
Trong chương này, bạn sẽ học cách đưa một đối tượng vào sổ làm việc của mình và gán macro cho nó.
Nhớ lại macro mà bạn đã tạo bằng cách sử dụng tham chiếu tương đối. Macro sắp xếp dữ liệu được đưa ra trong một cột thành một bảng để tạo điều kiện phân tích dữ liệu.
Gán Macro cho một Hình dạng
Bạn có thể chèn một hình dạng trong trang tính của mình ở dạng có ý nghĩa với văn bản tự giải thích, khi được nhấp vào sẽ chạy macro được gán cho nó.
Nhấn vào INSERT trên thanh Ribbon.
Nhấp chuột Shapes trong nhóm Hình minh họa.
Chọn bất kỳ hình dạng tạo sẵn nào xuất hiện trong danh sách thả xuống. Ví dụ, hình dạng Lưu đồ - Chuẩn bị, vì bạn đang trong quá trình chuẩn bị dữ liệu.
Vẽ hình dạng và định dạng nó.
Nhấp chuột phải vào hình dạng và chọn Edit Text từ danh sách thả xuống.
Nhập văn bản bên trong hình dạng - Chạy Macro.
Định dạng văn bản.
- Nhấp chuột phải vào hình dạng.
- Chọn Gán Macro từ danh sách thả xuống.
Hộp thoại Chỉ định Macro xuất hiện. Bấm vào tên macro tức là RelativeMacro và bấm OK.
Macro được gán cho hình dạng.
Bấm vào ô mà bạn phải chạy macro nói B4.
Di chuyển con trỏ (con trỏ) vào hình dạng. Con trỏ (con trỏ) chuyển thành ngón tay.
Bây giờ hãy nhấp vào hình dạng. Macro sẽ chạy. Chỉ cần lặp lại các cú nhấp chuột để chạy macro vài lần và bạn đã hoàn thành nhiệm vụ sắp xếp dữ liệu thành một bảng chỉ trong vài giây.
Gán Macro cho đồ họa
Bạn có thể chèn một đồ họa vào trang tính và gán macro cho nó. Hình ảnh có thể được chọn để hình dung macro của bạn. Ví dụ, bạn có thể có một đồ họa bảng biểu thị rằng macro sẽ sắp xếp dữ liệu vào một bảng.
- Bấm vào tab CHÈN trên ruy-băng.
- Bấm vào Hình ảnh trong nhóm Hình minh họa.
- Chọn một tệp có chứa hình ảnh của bạn.
Phần còn lại của các bước tương tự như các bước của hình dạng đã cho trong phần trước.
Gán Macro cho một Điều khiển
Chèn điều khiển VBA và gán macro cho nó làm cho công việc của bạn trông chuyên nghiệp. Bạn có thể chèn các điều khiển VBA từ tab Nhà phát triển trên Ribbon.
Nhấn vào DEVELOPER trên thanh Ribbon.
Nhấp chuột Insert trong nhóm Điều khiển.
Chọn biểu tượng Nút bên dưới Form Controls từ danh sách thả xuống như được hiển thị trong ảnh chụp màn hình dưới đây -
Bấm vào ô trên trang tính mà bạn muốn chèn điều khiển Nút. Hộp thoại Chỉ định Macro xuất hiện.
Bấm vào tên macro và bấm OK.
Nút điều khiển với macro được chỉ định sẽ được chèn.
- Nhấp chuột phải vào nút.
- Nhấp vào Chỉnh sửa Văn bản.
- Nhập - Chạy Macro.
- Định dạng Văn bản và thay đổi kích thước Nút.
Bạn có thể chạy macro bất kỳ số lần nào bằng cách nhấp vào nút liên tục.
Sử dụng Điều khiển biểu mẫu là một cách dễ dàng và hiệu quả để tương tác với người dùng. Bạn sẽ tìm hiểu thêm về điều này trong chương - Tương tác với Người dùng.
Có một số cách thực thi macro trong sổ làm việc của bạn. Macro sẽ được lưu trong sổ làm việc đã bật macro của bạn hoặc trong sổ làm việc Macro Cá nhân của bạn mà bạn có thể truy cập từ bất kỳ sổ làm việc nào như bạn đã học trước đó.
Bạn có thể chạy macro theo những cách sau:
- Chạy Macro từ tab View
- Chạy Macro bằng cách nhấn Ctrl cộng với một phím tắt
- Chạy Macro bằng cách nhấp vào một nút trên Thanh công cụ Truy cập Nhanh
- Chạy Macro bằng cách nhấp vào nút trong Nhóm tùy chỉnh trên ruy-băng
- Chạy Macro bằng cách nhấp vào Đối tượng đồ họa
- Chạy Macro từ Tab nhà phát triển
- Chạy Macro từ VBA Editor
Chạy Macro từ View Tab
Bạn đã học cách chạy macro từ tab View trên Ribbon. Tóm tắt nhanh -
- Nhấp vào tab CHẾ ĐỘ XEM trên Ruy-băng.
- Nhấp vào Macro.
- Chọn Xem Macro từ danh sách thả xuống.
Hộp thoại Macro xuất hiện.
- Bấm vào tên macro.
- Nhấp vào nút Chạy.
Chạy Macro với Phím tắt
Bạn có thể gán một phím tắt (Ctrl + phím) cho macro. Bạn có thể làm điều này trong khi ghi macro trongCreate Macrohộp thoại. Nếu không, bạn có thể thêm cái này sau trongMacro Options hộp thoại.
Thêm phím tắt trong khi ghi macro
- Nhấp vào tab XEM.
- Nhấp vào Macro.
- Chọn Ghi Macro từ danh sách thả xuống.
Hộp thoại Tạo Macro xuất hiện.
- Nhập tên macro
- Nhập một chữ cái, nói q, vào hộp bên cạnh Ctrl + bên dưới Phím tắt.
Thêm một phím tắt trong Tùy chọn Macro
- Nhấp vào tab XEM.
- Nhấp vào Macro.
- Chọn Xem Macro từ danh sách thả xuống.
Hộp thoại Macro xuất hiện.
- Chọn tên macro.
- Nhấp vào nút Tùy chọn.
Hộp thoại Tùy chọn Macro xuất hiện. Nhập một chữ cái, nói q, vào hộp bên cạnh Ctrl + bên dưới Phím tắt. Bấm OK.
Để chạy macro bằng phím tắt, hãy nhấn cùng lúc phím Ctrl và phím q. Macro sẽ chạy.
Note- Bạn có thể sử dụng bất kỳ chữ thường hoặc chữ hoa nào cho phím tắt của macro. Nếu bạn sử dụng bất kỳ tổ hợp Ctrl + chữ cái nào là phím tắt Excel, bạn sẽ ghi đè nó. Ví dụ bao gồm Ctrl + C, Ctrl + V, Ctrl + X, v.v. Do đó, hãy sử dụng quyền hạn của bạn trong khi chọn các chữ cái.
Chạy Macro thông qua Thanh công cụ Truy cập Nhanh
Bạn có thể thêm một nút macro vào Thanh công cụ Truy nhập Nhanh và chạy macro bằng cách nhấp vào nó. Tùy chọn này sẽ hữu ích khi bạn lưu trữ macro của mình trong sổ làm việc macro cá nhân. Nút được thêm sẽ xuất hiện trên Thanh công cụ Truy nhập Nhanh trong bất kỳ sổ làm việc nào bạn mở, do đó giúp bạn dễ dàng chạy macro.
Giả sử bạn có một macro với tên MyMacro trong sổ làm việc macro cá nhân của bạn.
Để thêm nút macro vào Thanh công cụ Truy nhập Nhanh, hãy làm như sau:
Nhấp chuột phải vào Thanh công cụ Truy cập Nhanh.
Lựa chọn Customize Quick Access Toolbar từ danh sách thả xuống.
Hộp thoại Tùy chọn Excel xuất hiện. Chọn Macro từ danh sách thả xuống trong danh mục-Choose commands from.
Một danh sách các macro xuất hiện trong Macro.
- Nhấp vào PERSONAL.XLSB! MyMacro.
- Nhấp vào nút Thêm.
Tên macro xuất hiện ở phía bên phải, với hình ảnh nút macro.
Để thay đổi hình ảnh nút macro, hãy tiến hành như sau:
- Bấm vào tên macro trong hộp bên phải.
- Nhấp vào nút Sửa đổi.
Các Modify Buttonhộp thoại xuất hiện. Chọn một biểu tượng để đặt nó làm biểu tượng của nút.
Sửa đổi Tên hiển thị xuất hiện khi bạn đặt con trỏ trên hình Nút trên Thanh công cụ Truy nhập Nhanh thành một tên có ý nghĩa, chẳng hạn như Chạy MyMacro cho ví dụ này. Bấm OK.
Tên Macro và biểu tượng thay đổi trong ngăn bên phải. Bấm OK.
Nút macro xuất hiện trên Thanh công cụ truy nhập nhanh và tên hiển thị macro xuất hiện khi bạn đặt con trỏ vào nút.
Để chạy macro, chỉ cần nhấp vào nút macro trên Thanh công cụ truy cập nhanh.
Chạy Macro trong Nhóm tùy chỉnh
Bạn có thể thêm nhóm tùy chỉnh và nút tùy chỉnh trên Ribbon và gán macro của bạn cho nút.
- Nhấp chuột phải vào Ribbon.
- Chọn Tùy chỉnh ruy-băng từ danh sách thả xuống.
Các Excel Options hộp thoại xuất hiện.
- Chọn Tab chính trong Tùy chỉnh ruy-băng.
- Nhấp vào Tab mới.
Tab Mới (Tùy chỉnh) xuất hiện trong danh sách Tab chính.
- Nhấp vào Tab mới (Tùy chỉnh).
- Nhấp vào nút Nhóm mới.
Nhóm Mới (Tùy chỉnh) xuất hiện trong Tab Mới (Tùy chỉnh).
- Nhấp vào Tab mới (Tùy chỉnh).
- Nhấp vào nút Đổi tên.
Hộp thoại Đổi tên xuất hiện. Nhập tên cho tab tùy chỉnh của bạn xuất hiện trong tab Chính trên Ruy-băng, giả sử - Macro của tôi và bấm OK.
Note- Tất cả các tab Chính trên Ribbon đều được viết hoa. Bạn có thể tùy ý sử dụng chữ hoa hay chữ thường. Tôi đã chọn chữ thường có viết hoa các từ để nó nổi bật trong các tab tiêu chuẩn.
Tên tab mới thay đổi thành Macro của tôi (Tùy chỉnh).
- Nhấp vào Nhóm mới (Tùy chỉnh).
- Nhấp vào nút Đổi tên.
Các Renamehộp thoại xuất hiện. Nhập tên nhóm vào hộp thoại Tên hiển thị và bấm OK.
Tên nhóm mới thay đổi thành Macro Cá nhân (tùy chỉnh).
Nhấp vào Macro trong ngăn bên trái bên dưới Choose commands from.
- Chọn tên macro của bạn, giả sử - MyFirstMacro từ danh sách macro.
- Nhấp vào nút Thêm.
Macro sẽ được thêm vào trong nhóm Macro Cá nhân (Tùy chỉnh).
- Nhấp vào Macro của tôi (Tùy chỉnh) trong danh sách.
- Nhấp vào mũi tên để di chuyển tab lên hoặc xuống.
Vị trí của tab trong danh sách các tab chính xác định vị trí nó sẽ được đặt trên Ribbon. Bấm OK.
Tab tùy chỉnh của bạn - Macro của tôi xuất hiện trên Ribbon.
Nhấp vào tab - Macro của tôi. Nhóm Macro Cá nhân xuất hiện trên Ruy-băng. MyFirstMacro xuất hiện trong nhóm Macro Cá nhân. Để chạy macro, chỉ cần nhấp vào MyFirstMacro trong nhóm Macro Cá nhân.
Chạy Macro bằng cách nhấp vào một đối tượng
Bạn có thể chèn một đối tượng như hình dạng, đồ họa hoặc điều khiển VBA vào trang tính của mình và gán macro cho nó. Để chạy macro, chỉ cần nhấp vào đối tượng.
Để biết chi tiết về cách chạy macro bằng cách sử dụng đối tượng, hãy tham khảo chương - Gán macro cho đối tượng.
Chạy Macro từ Tab nhà phát triển
Bạn có thể chạy macro từ tab Nhà phát triển.
- Nhấp vào tab Nhà phát triển trên Ribbon.
- Nhấp vào Macro.
Hộp thoại Macro xuất hiện. Bấm vào tên macro và sau đó bấm Chạy.
Chạy Macro từ VBA Editor
Bạn có thể chạy macro từ trình soạn thảo VBA như sau:
- Bấm vào tab Chạy trên ruy-băng.
- Chọn Run Sub / UserForm từ danh sách thả xuống.
Bạn có thể tạo macro bằng cách viết mã trong trình soạn thảo VBA. Trong chương này, bạn sẽ học cách viết mã cho macro.
Đối tượng và mô-đun VBA
Trước khi bạn bắt đầu viết mã cho Macro, hãy hiểu các Đối tượng và Mô-đun VBA.
- Mở sổ làm việc hỗ trợ macro bằng macro đầu tiên của bạn.
- Nhấp vào tab DEVELOPER trên Ribbon.
- Bấm Visual Basic trong nhóm Mã.
Cửa sổ trình soạn thảo VBA mở ra.
Bạn sẽ quan sát những điều sau trong cửa sổ Projects Explorer:
Sổ làm việc đã bật macro của bạn - MyFirstMacro.xlsm xuất hiện dưới dạng Dự án VBA.
Tất cả các trang tính và sổ làm việc xuất hiện dưới dạng Đối tượng Microsoft Excel trong dự án.
Module1 xuất hiện trong Mô-đun. Mã macro của bạn nằm ở đây.
Nhấp vào Mô-đun1.
Bấm vào tab Xem trên Ruy-băng.
Chọn Mã từ danh sách thả xuống.
Mã macro của bạn xuất hiện.
Tạo Macro bằng mã hóa
Tiếp theo, tạo macro thứ hai trong cùng một sổ làm việc - lần này bằng cách viết mã VBA.
Bạn có thể thực hiện việc này theo hai bước -
Chèn một nút lệnh.
Viết mã nêu rõ các hành động sẽ diễn ra khi bạn nhấp vào nút lệnh.
Chèn một nút lệnh
Tạo một trang tính mới.
Nhấp vào trang tính mới.
Nhấp vào nút DEVELOPER trên Ribbon.
Bấm Chèn trong nhóm Điều khiển.
Chọn biểu tượng nút từ Form Controls.
- Bấm vào trang tính mà bạn muốn đặt nút lệnh.
- Hộp thoại Chỉ định Macro xuất hiện.
Trình soạn thảo Visual Basic xuất hiện.
Bạn sẽ quan sát những điều sau:
- Một mô-đun mới - Module2 được chèn vào Project Explorer.
- Cửa sổ mã với tiêu đề Module2 (Mã) xuất hiện.
- Một thủ tục con Button1_Click () được chèn vào mã Module2.
Mã hóa Macro
Việc viết mã của bạn được thực hiện một nửa bởi chính trình soạn thảo VBA.
Ví dụ, gõ MsgBox “Best Wishes to You!”trong thủ tục con Button1_Click (). Một hộp thông báo với chuỗi đã cho sẽ được hiển thị khi nhấp vào nút lệnh.
Đó là nó! Mã macro của bạn đã sẵn sàng để chạy. Như bạn đã biết, mã VBA không yêu cầu biên dịch vì nó chạy với trình thông dịch.
Chạy Macro từ VBA Editor
Bạn có thể kiểm tra mã macro của mình từ chính trình soạn thảo VBA.
Bấm vào tab Chạy trên ruy-băng.
Chọn Run Sub / UserForm từ danh sách thả xuống. Hộp thông báo với chuỗi bạn đã nhập sẽ xuất hiện trong trang tính của bạn.
Bạn có thể thấy rằng nút đã được chọn. Bấm OK trong hộp tin nhắn. Bạn sẽ được đưa trở lại trình soạn thảo VBA.
Chạy Macro từ Trang tính
Bạn có thể chạy macro mà bạn đã mã hóa bất kỳ số lần nào từ trang tính.
- Bấm vào một nơi nào đó trên trang tính.
- Nhấn vào nút. Hộp Thông báo xuất hiện trên trang tính.
Bạn đã tạo macro bằng cách viết mã VBA. Như bạn có thể quan sát, mã hóa VBA rất đơn giản.
Bạn đã học cách viết mã macro trong trình soạn thảo VBA trong chương trước. Bạn có thể chỉnh sửa mã macro, đổi tên macro và xóa macro.
Nếu bạn thành thạo Excel VBA, viết mã hoặc sửa đổi mã cho macro là một nhiệm vụ nhỏ. Bạn có thể chỉnh sửa mã macro theo bất kỳ cách nào bạn muốn. Nếu bạn chỉ muốn thực hiện một số thay đổi đơn giản trong mã macro, bạn thậm chí có thể sao chép mã macro từ nơi này sang nơi khác.
Sao chép mã Macro
Bạn đã tạo hai macro - MyFirstMacro và Button1_Click trong sổ làm việc MyFirstMacro.xlsm đã bật macro. Bạn đã tạo macro đầu tiên bằng cách ghi lại các bước và macro thứ hai bằng cách viết mã. Bạn có thể sao chép mã từ macro đầu tiên vào macro thứ hai.
Mở sổ làm việc MyFirstMacro.xlsm.
Nhấp vào tab Nhà phát triển trên Ribbon.
Bấm Visual Basic. Trình chỉnh sửa Visual Basic mở ra.
Mở mã cho Module1 (mã macro MyFirstMacro) và mã macro Module2 (Button1_Click ()).
Bấm vào tab Cửa sổ trên Ruy-băng.
Chọn Xếp theo chiều ngang từ danh sách thả xuống.
Bạn có thể xem mã của hai macro trong cửa sổ lát gạch.
Sao chép dòng MsgBox trong mã Module2.
Dán nó lên trên dòng đó.
Sửa đổi chuỗi thành -
MsgBox “Xin chào Thế giới!”
Sao chép mã sau từ Module1.
Dán nó vào mã Module2 ở giữa hai dòng mã MsgBox.
Nhấp vào biểu tượng Lưu để lưu mã.
Bấm vào Nút trong trang tính Excel. Hộp Thông báo xuất hiện với thông báo - Hello World! Bấm OK.
Dữ liệu bảng xuất hiện (theo mã mà bạn đã sao chép) và hộp thông báo xuất hiện với thông báo - Lời chúc tốt đẹp nhất đến bạn!
Bạn có thể sửa đổi mã chỉ trong một vài bước. Đây là nhiệm vụ dễ nhất cho người mới bắt đầu.
Đổi tên Macro
Giả sử bạn muốn chạy macro đã chỉnh sửa từ bất kỳ trang tính nào khác với trang tính có nút lệnh. Bạn có thể làm điều đó bất kể nhấp vào nút bằng cách đổi tên macro.
- Nhấp vào tab CHẾ ĐỘ XEM trên Ruy-băng.
- Nhấp vào Macro.
- Chọn Xem Macro từ danh sách thả xuống.
Hộp thoại Macro xuất hiện.
- Nhấp vào tên macro - Button1_Click.
- Nhấp vào nút Chỉnh sửa.
Mã macro xuất hiện trong trình soạn thảo VBA.
Thay đổi tên xuất hiện trong dòng phụ từ Button1_Click thành RenameMacro. Để nguyên Sub và ngoặc đơn.
Mở hộp thoại Macro. Tên macro xuất hiện khi bạn đổi tên.
- Nhấp vào RenameMacro.
- Nhấp vào nút Chạy. Macro chạy. Bây giờ một lần bấm nút là không cần thiết.
Xóa Macro
Bạn có thể xóa macro mà bạn đã ghi lại hoặc mã hóa.
- Mở hộp thoại Macro.
- Bấm vào tên macro.
- Nhấp vào nút Xóa.
Các Delete thông báo xác nhận xuất hiện.
Nhấp chuột Yesnếu bạn chắc chắn xóa macro. Nếu không, hãy nhấp vào Không.
Đôi khi, bạn có thể phải thu thập thông tin nhiều lần từ những người khác. Excel VBA cung cấp cho bạn một cách dễ dàng để xử lý công việc này-UserForm. Như bất kỳ biểu mẫu nào khác mà bạn điền, UserForm giúp bạn hiểu đơn giản, thông tin nào sẽ được cung cấp. UserForm thân thiện với người dùng theo cách mà các điều khiển được cung cấp có thể tự giải thích, kèm theo các hướng dẫn bổ sung nếu cần.
Ưu điểm chính của UserForm là bạn có thể tiết kiệm thời gian mà bạn dành cho những gì và cách thức điền thông tin.
Tạo UserForm
Để tạo UserForm, hãy tiến hành như sau:
- Nhấp vào tab DEVELOPER trên Ribbon.
- Bấm Visual Basic. Một cửa sổ Visual Basic cho sổ làm việc sẽ mở ra.
- Nhấp vào Chèn,
- Chọn UserForm từ danh sách thả xuống.
UserForm xuất hiện ở phía bên phải của cửa sổ.
Hiểu về UserForm
Phóng to cửa sổ UserForm.xlsx - UserForm1.
Bây giờ bạn đang ở chế độ thiết kế. Bạn có thể chèn các điều khiển trên UserForm và viết mã cho các hành động tương ứng. Các điều khiển có sẵn trong ToolBox. Thuộc tính của UserForm nằm trong cửa sổ Thuộc tính. UserForm1 (chú thích của UserForm) được cung cấp trong Forms trong Projects Explorer.
- Thay đổi chú thích của UserForm thành Báo cáo Dự án - Hàng ngày trong cửa sổ thuộc tính.
- Thay đổi tên của UserForm thành ProjectReport.
Những thay đổi được phản ánh trong UserForm, thuộc tính và trình khám phá dự án.
Các điều khiển trong ToolBox
Một UserForm sẽ có các thành phần khác nhau. Khi bạn nhấp vào bất kỳ thành phần nào, bạn sẽ được cung cấp hướng dẫn về cái gì và cách thức cung cấp thông tin hoặc bạn sẽ được cung cấp các tùy chọn (lựa chọn) để lựa chọn. Tất cả những điều này được cung cấp bởi các điều khiển ActiveX trong ToolBox của UserForm.
Excel cung cấp hai loại điều khiển - điều khiển biểu mẫu và điều khiển ActiveX. Bạn cần hiểu sự khác biệt giữa hai loại điều khiển này.
Kiểm soát biểu mẫu
Điều khiển biểu mẫu là điều khiển gốc của Excel tương thích với các phiên bản Excel trước, bắt đầu từ phiên bản Excel 5.0. Điều khiển biểu mẫu cũng được thiết kế để sử dụng trên trang tính macro XLM.
Bạn có thể chạy macro bằng cách sử dụng điều khiển Biểu mẫu. Bạn có thể gán một macro hiện có cho một điều khiển hoặc ghi hoặc ghi một macro mới. Khi điều khiển được nhấp vào, macro. Bạn đã học cách chèn nút lệnh từ các điều khiển Biểu mẫu trong trang tính để chạy macro. Tuy nhiên, không thể thêm các điều khiển này vào UserForm.
Điều khiển ActiveX
Các điều khiển ActiveX có thể được sử dụng trên VBA UserForms. Các điều khiển ActiveX có các thuộc tính mở rộng mà bạn có thể sử dụng để tùy chỉnh giao diện, hành vi, phông chữ và các đặc điểm khác của chúng.
Bạn có các điều khiển ActiveX sau đây trong UserForm ToolBox -
- Pointer
- Label
- TextBox
- ComboBox
- ListBox
- CheckBox
- OptionButton
- Frame
- ToggleButton
- CommandButton
- TabStrip
- MultiPage
- ScrollBar
- SpinButton
- Image
Ngoài các điều khiển này, Visual Basic cung cấp cho bạn hàm MsgBox có thể được sử dụng để hiển thị thông báo và / hoặc nhắc người dùng thực hiện một hành động.
Trong vài phần tiếp theo, bạn sẽ hiểu các điều khiển này và MsgBox. Sau đó, bạn sẽ ở vị trí để chọn điều khiển nào trong số các điều khiển này được yêu cầu để thiết kế UserForm của bạn.
Nhãn
Bạn có thể sử dụng Nhãn cho mục đích nhận dạng bằng cách hiển thị văn bản mô tả, chẳng hạn như tiêu đề, chú thích và / hoặc hướng dẫn ngắn gọn.
Example
Hộp văn bản
Bạn có thể sử dụng TextBox là một hộp hình chữ nhật, để nhập, xem hoặc chỉnh sửa văn bản. Bạn cũng có thể sử dụng TextBox làm trường văn bản tĩnh trình bày thông tin chỉ đọc.
Example
Hộp danh sách
Bạn có thể sử dụng Hộp danh sách để hiển thị danh sách một hoặc nhiều mục văn bản mà từ đó người dùng có thể chọn. Sử dụng hộp danh sách để hiển thị số lượng lớn các lựa chọn khác nhau về số lượng hoặc nội dung.
- Chèn ListBox trên UserForm.
- Nhấp vào ListBox.
- Gõ ProjectCodes cho Tên trong cửa sổ Thuộc tính của ListBox.
Có ba loại Hộp danh sách -
Single-selection List box- Một Hộp Danh sách lựa chọn duy nhất chỉ cho phép một lựa chọn. Trong trường hợp này, hộp danh sách giống với một nhóm các nút tùy chọn, ngoại trừ hộp danh sách có thể xử lý một số lượng lớn các mục hiệu quả hơn.
Multiple selection List Box - Hộp Danh sách nhiều lựa chọn cho phép một trong hai lựa chọn hoặc các lựa chọn liền kề (liền kề).
Extended-selection List Box - Hộp Danh sách lựa chọn mở rộng cho phép một lựa chọn, các lựa chọn liền kề và các lựa chọn không liền kề (hoặc rời rạc).
Bạn có thể chọn một trong các loại Hộp Danh sách này từ cửa sổ Thuộc tính.
- Nhấp chuột phải vào UserForm.
- Chọn Mã Chế độ xem từ danh sách thả xuống. Cửa sổ mã của UserForm mở ra.
- Nhấp vào Khởi tạo trong hộp trên cùng bên phải của cửa sổ mã.
- Nhập nội dung sau trong Private Sub UserForm_Initialize ().
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
- Bấm vào tab Chạy trên ruy-băng.
- Chọn Run Sub / UserForm từ danh sách thả xuống.
Tiếp theo, bạn có thể viết mã cho các hành động chọn một mục trong danh sách. Nếu không, bạn chỉ có thể hiển thị văn bản được chọn, đây là trường hợp điền Mã dự án trong Báo cáo.
ComboBox
Bạn có thể dùng ComboBoxkết hợp hộp văn bản với hộp danh sách để tạo hộp danh sách thả xuống. Hộp tổ hợp nhỏ gọn hơn hộp danh sách nhưng yêu cầu người dùng nhấp vào mũi tên xuống để hiển thị danh sách các mục. Sử dụng hộp tổ hợp để chỉ chọn một mục từ danh sách.
- Chèn một ComboBox trên UserForm.
- Nhấp vào ComboBox.
- Gõ ProjectCodes2 cho Tên trong cửa sổ Thuộc tính của ComboBox.
- Nhấp chuột phải vào UserForm.
- Chọn Mã Chế độ xem từ danh sách thả xuống.
- Cửa sổ mã của UserForm mở ra.
Nhập như sau như hình dưới đây.
ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
- Bấm vào tab Chạy trên ruy-băng.
- Chọn Run Sub / UserForm từ danh sách thả xuống.
Nhấp vào mũi tên xuống để hiển thị danh sách các mục.
Bấm vào mục được yêu cầu, chẳng hạn như Project2016-5. Tùy chọn đã chọn sẽ được hiển thị trong hộp tổ hợp.
CheckBox
Bạn có thể sử dụng các hộp kiểm để chọn một hoặc nhiều tùy chọn được hiển thị bằng cách nhấp vào các hộp. Các tùy chọn sẽ có nhãn và bạn có thể hình dung rõ ràng những tùy chọn nào được chọn.
Một hộp kiểm có thể có hai trạng thái:
- Đã chọn (đã bật), được biểu thị bằng dấu tích trong hộp
- Đã xóa (đã tắt), được biểu thị bằng ô trống
Bạn có thể sử dụng các hộp kiểm để chọn các tùy chọn trong một hộp kết hợp để tiết kiệm không gian. Trong trường hợp như vậy, hộp kiểm cũng có thể có trạng thái thứ ba -
Hỗn hợp, nghĩa là sự kết hợp của các trạng thái bật và tắt, được biểu thị bằng một chấm đen trong hộp. Điều này sẽ được hiển thị để chỉ ra nhiều lựa chọn trong hộp tổ hợp với các hộp kiểm.
Chèn các hộp kiểm trong UserForm như hình dưới đây.
- Bấm vào tab Chạy trên ruy-băng.
- Chọn Run Sub / UserForm từ danh sách thả xuống.
- Nhấp vào các hộp cho các tùy chọn đã chọn của bạn.
Nút tùy chọn
Bạn có thể sử dụng một nút tùy chọn, còn được gọi là nút radio để thực hiện một lựa chọn duy nhất trong một tập hợp giới hạn các lựa chọn loại trừ lẫn nhau. Một nút tùy chọn thường được chứa trong một hộp nhóm hoặc một khung.
Một nút tùy chọn được biểu thị bằng một vòng tròn nhỏ. Một nút tùy chọn có thể có một trong hai trạng thái sau:
- Đã chọn (đã bật), được biểu thị bằng một dấu chấm trong vòng tròn
- Đã xóa (đã tắt), được biểu thị bằng khoảng trống
Khung
Bạn có thể sử dụng điều khiển khung, còn được gọi là hộp nhóm để nhóm các điều khiển liên quan thành một đơn vị trực quan. Thông thường, các nút tùy chọn, hộp kiểm hoặc nội dung có liên quan chặt chẽ được nhóm trong một điều khiển khung.
Điều khiển khung được biểu diễn bằng một đối tượng hình chữ nhật với nhãn tùy chọn.
Chèn một khung với chú thích “Lựa chọn”.
Chèn hai nút tùy chọn với chú thích “Có” và “Không” trong điều khiển khung. Các tùy chọn Có và Không loại trừ lẫn nhau.
- Bấm vào tab Chạy trên ruy-băng.
- Chọn Run Sub / UserForm từ danh sách thả xuống.
- Nhấp vào tùy chọn đã chọn của bạn.
Nút bật tắt
Bạn có thể sử dụng nút bật tắt để biểu thị trạng thái, chẳng hạn như Có hoặc Không hoặc một chế độ, chẳng hạn như bật hoặc tắt. Nút thay đổi giữa trạng thái được bật và trạng thái bị vô hiệu hóa khi nó được nhấp vào.
Chèn nút bật tắt trên UserForm như hình dưới đây -
Bấm vào tab Chạy trên ruy-băng.
Chọn Run Sub / UserForm từ danh sách thả xuống. Nút chuyển đổi sẽ ở trạng thái bật theo mặc định.
Nhấp vào nút chuyển đổi. Nút chuyển đổi sẽ bị tắt.
Nếu bạn nhấp lại vào nút chuyển đổi, nó sẽ được bật.
CommandButton
Bạn có thể sử dụng nút lệnh để chạy macro thực hiện một số hành động khi người dùng nhấp vào nó. Bạn đã học cách sử dụng nút lệnh trên trang tính để chạy macro.
Nút lệnh còn được gọi là nút ấn. Chèn một nút lệnh trên UserForm như hình dưới đây -
- Nhấp chuột phải vào nút lệnh.
- Nhập mã sau vào Commandbutton1_click () con.
ProjectCodes2.DropDown
- Bấm vào tab Chạy trên ruy-băng.
- Chọn Run Sub / UserForm từ danh sách thả xuống.
Nhấp vào nút lệnh. Danh sách hộp tổ hợp thả xuống sẽ mở ra, vì đó là hành động mà bạn đã viết trong mã.
TabStrip
Bạn có thể chèn một dải tab giống với các tab Excel trên UserForm.
Thanh cuộn
Bạn có thể sử dụng thanh cuộn để cuộn qua một loạt các giá trị bằng cách nhấp vào mũi tên cuộn hoặc bằng cách kéo hộp cuộn.
Chèn một thanh cuộn vào UserForm bằng cách vẽ nó ở vị trí cần thiết và điều chỉnh độ dài của thanh cuộn.
- Nhấp chuột phải vào thanh cuộn.
- Chọn Mã Chế độ xem từ danh sách thả xuống. Cửa sổ Mã mở ra.
- Thêm dòng sau vào con ScrollBar1_Scroll ().
TextBox2.Text = "Scrolling Values"
- Bấm vào tab Chạy trên ruy-băng.
- Chọn Run Sub / UserForm từ danh sách thả xuống.
Kéo hộp cuộn. Văn bản - Giá trị cuộn sẽ được hiển thị trong hộp văn bản khi bạn chỉ định nó làm hành động cho cuộn thanh cuộn.
MsgBox ()
Bạn có thể sử dụng hàm MsgBox () để hiển thị thông báo khi bạn nhấp vào một cái gì đó. Nó có thể là một hướng dẫn hoặc một số thông tin hoặc một cảnh báo hoặc một cảnh báo lỗi.
Ví dụ: bạn có thể hiển thị thông báo rằng các giá trị đang được cuộn khi bạn bắt đầu cuộn hộp cuộn.
Hiển thị Biểu tượng Hộp Thư
Bạn có thể sử dụng các màn hình biểu tượng hộp tin nhắn mô tả thông điệp cụ thể. Bạn có nhiều biểu tượng hộp thư phù hợp với mục đích của mình -
- Nhập mã sau trong ScrollBar1_scroll.
MsgBox "Select Ok or Cancel", vbOKCancel, "OK - Cancel Message"
MsgBox "It's an Error!", vbCritical, "Run time result"
MsgBox "Why this value", vbQuestion, "Run time result"
MsgBox "Value Been for a Long Time", vbInformation, "Run time result"
MsgBox "Oh Is it so", vbExclamation, "Run time result"
- Bấm vào tab Chạy trên ruy-băng.
- Chọn Run Sub / UserForm từ danh sách thả xuống.
- Kéo hộp cuộn.
Bạn sẽ nhận được liên tiếp các hộp thông báo sau.
Thiết kế UserForm
Bây giờ, bạn đã hiểu về các điều khiển khác nhau mà bạn có thể sử dụng trên UserForm. Chọn các điều khiển, nhóm chúng nếu cần và sắp xếp chúng trên UserForm theo một số trình tự có ý nghĩa. Viết các hành động cần thiết dưới dạng mã tương ứng với các điều khiển tương ứng.
Tham khảo hướng dẫn VBA trong thư viện hướng dẫn này để biết ví dụ về UserForm.
Bạn đã biết rằng macro được lưu trữ dưới dạng mã VBA trong Excel. Bạn cũng đã biết rằng bạn có thể trực tiếp viết mã để tạo macro trong trình soạn thảo VBA. Tuy nhiên, như với trường hợp của bất kỳ mã nào, ngay cả mã macro cũng có thể có lỗi và macro có thể không chạy như bạn mong đợi.
Điều này đòi hỏi phải kiểm tra mã để tìm ra các khiếm khuyết và sửa chúng. Thuật ngữ được sử dụng cho hoạt động này trong phát triển phần mềm là gỡ lỗi.
Gỡ lỗi VBA
Trình chỉnh sửa VBA cho phép bạn tạm dừng việc thực thi mã và thực hiện bất kỳ tác vụ gỡ lỗi nào được yêu cầu. Sau đây là một số tác vụ gỡ lỗi mà bạn có thể thực hiện.
- Bước qua mã
- Sử dụng các điểm ngắt
- Sao lưu hoặc chuyển tiếp trong mã
- Không bước qua từng dòng mã
- Truy vấn bất cứ điều gì trong khi bước qua mã
- Ngừng thực thi
Đây chỉ là một số tác vụ mà bạn có thể thực hiện trong môi trường gỡ lỗi của VBA.
Bước qua mã
Điều đầu tiên bạn phải làm để gỡ lỗi là xem qua mã trong khi thực thi nó. Nếu bạn có ý tưởng về phần nào của mã có thể tạo ra lỗi, bạn có thể chuyển đến dòng mã đó. Nếu không, bạn có thể thực thi từng dòng mã, sao lưu hoặc chuyển tiếp trong mã.
Bạn có thể nhập mã từ hộp thoại Macro trong sổ làm việc của mình hoặc từ chính trình soạn thảo VBA.
Stepping into the code from the workbook
Để bước vào mã từ sổ làm việc, hãy làm như sau:
- Nhấp vào tab CHẾ ĐỘ XEM trên Ruy-băng.
- Nhấp vào Macro.
- Chọn Xem Macro từ danh sách thả xuống.
Hộp thoại Macro xuất hiện.
- Bấm vào tên macro.
- Nhấp vào nút Bước vào.
Trình soạn thảo VBA mở ra và mã macro xuất hiện trong cửa sổ mã. Dòng đầu tiên trong mã macro sẽ được đánh dấu bằng màu vàng.
Stepping into the code from the VBA editor
Để bước vào mã từ trình chỉnh sửa VBA, hãy làm như sau:
- Nhấp vào tab DEVELOPER trên Ribbon.
- Bấm Visual Basic. Trình chỉnh sửa VBA sẽ mở ra.
- Bấm vào mô-đun có chứa mã macro.
Mã macro xuất hiện trong cửa sổ mã.
Bấm vào tab Gỡ lỗi trên Ruy-băng.
Lựa chọn Step into từ danh sách thả xuống.
Dòng đầu tiên trong mã macro sẽ được đánh dấu. Mã đang ở chế độ gỡ lỗi và các tùy chọn trong danh sách thả xuống Gỡ lỗi sẽ hoạt động.
Sao lưu hoặc chuyển tiếp trong mã
Bạn có thể tiến hoặc lùi trong mã bằng cách chọn Bước qua hoặc Bước ra.
Không bước qua từng dòng mã
Bạn có thể tránh bước qua từng mã dòng, nếu bạn xác định một phần tiềm năng của mã cần được thảo luận, bằng cách chọn Chạy tới con trỏ.
Sử dụng các điểm ngắt
Ngoài ra, bạn có thể đặt các điểm ngắt tại các dòng mã cụ thể và thực thi mã, quan sát kết quả tại mỗi điểm ngắt. Bạn có thể chuyển đổi một điểm ngắt và xóa tất cả các điểm ngắt nếu và khi được yêu cầu.
Sử dụng Đồng hồ
Bạn có thể thêm đồng hồ trong khi gỡ lỗi, để đánh giá một biểu thức và dừng thực thi khi một biến đạt được giá trị cụ thể. Điều này có nghĩa là bạn định cấu hình biểu thức đồng hồ, biểu thức này sẽ được theo dõi cho đến khi nó đúng và sau đó macro sẽ tạm dừng và để bạn ở chế độ ngắt. VBA cung cấp cho bạn một số loại đồng hồ để lựa chọn, nhằm thực hiện những gì bạn đang tìm kiếm.
Ngừng thực thi
Trong quá trình gỡ lỗi, tại bất kỳ thời điểm nào, nếu bạn tìm thấy manh mối về điều gì đang xảy ra, bạn có thể tạm dừng quá trình thực thi để giải mã thêm.
Nếu bạn là một nhà phát triển có kinh nghiệm, thuật ngữ gỡ lỗi quen thuộc với bạn và các tùy chọn gỡ lỗi của trình soạn thảo VBA giúp cuộc sống của bạn trở nên đơn giản. Ngay cả khi khác, sẽ không mất nhiều thời gian để thành thạo kỹ năng này nếu bạn đã học VBA và hiểu mã.
Bạn có thể ghi một macro và lưu nó với tên Auto_Open để chạy nó bất cứ khi nào bạn mở sổ làm việc có chứa macro này.
Bạn cũng có thể viết mã VBA cho cùng mục đích với sự kiện Mở của sổ làm việc. Sự kiện Mở chạy mã trong thủ tục con Workbook_Open () mỗi khi bạn mở sổ làm việc.
Ghi Macro Auto_Open
Bạn có thể ghi macro Auto_Run như sau:
- Nhấp vào tab CHẾ ĐỘ XEM trên Ruy-băng.
- Nhấp vào Macro.
- Bấm Ghi Macro. Hộp thoại Ghi Macro xuất hiện.
- Nhập Auto_Run cho tên macro.
- Nhập mô tả và nhấp vào OK.
- Bắt đầu ghi macro.
- Dừng ghi.
- Lưu sổ làm việc dưới dạng sổ làm việc hỗ trợ macro.
- Đóng sổ làm việc.
- Mở sổ làm việc. Macro Auto_Run sẽ tự động chạy.
Nếu bạn muốn Excel khởi động mà không cần chạy macro Auto_Open, hãy giữ phím SHIFT khi bạn khởi động Excel.
Hạn chế của Auto_Open Macro
Sau đây là những hạn chế của macro Auto_Open:
Nếu sổ làm việc mà bạn đã lưu macro Auto_Open chứa mã cho sự kiện Mở sổ làm việc, thì mã cho sự kiện Mở sẽ ghi đè các hành động trong macro Auto_Open.
Macro Auto_Open bị bỏ qua khi sổ làm việc được mở bằng cách chạy mã sử dụng phương thức Open.
Macro Auto_Open chạy trước khi mở bất kỳ sổ làm việc nào khác. Do đó, nếu bạn ghi lại các hành động mà bạn muốn Excel thực hiện trên sổ làm việc Book1 mặc định hoặc trên sổ làm việc được tải từ thư mục XLStart, macro Auto_Open sẽ không thành công khi bạn khởi động lại Excel, vì macro chạy trước khi sổ làm việc mặc định và khởi động mở .
Nếu bạn gặp phải bất kỳ giới hạn nào trong số này, thay vì ghi macro Auto_Open, bạn phải viết mã cho sự kiện Mở như được mô tả trong phần tiếp theo.
Mã VBA cho sự kiện mở của sổ làm việc
Bạn có thể viết mã sẽ được thực thi khi bạn mở sổ làm việc. VBA cung cấp cho bạn một sự kiện được gọi là mở kết hợp thủ tục VBA cho các hành động được thực hiện khi mở sổ làm việc.
Mở sổ làm việc mà bạn đã lưu macro mà bạn đã viết cho các tham chiếu tuyệt đối - Report_ProjectXYZ. Khi macro này được chạy, một trang tính mới sẽ được thêm vào sổ làm việc và cấu trúc báo cáo dự án xuất hiện trên trang tính mới.
Bạn có thể viết mã macro sẽ thực hiện các hành động này khi bạn mở sổ làm việc. Điều đó có nghĩa là khi bạn mở sổ làm việc Báo cáo Dự án, một trang tính mới với cấu trúc báo cáo sẽ sẵn sàng để bạn nhập chi tiết.
Làm theo quy trình dưới đây trong trình soạn thảo VBA−
Nhấp đúp vào ThisWorkbook trong Projects Explorer.
Trong cửa sổ mã, chọn Workbook trong danh sách thả xuống bên trái và Mở trong danh sách thả xuống bên phải. Sub Workbook_Open () xuất hiện.
Nhấp vào Mô-đun trong Trình khám phá dự án.
Nhấp đúp vào tên mô-đun có chứa mã macro.
Sao chép mã macro từ mô-đun và dán nó vào Sub WorkBook_Open ().
Lưu sổ làm việc hỗ trợ macro. Mở lại. Macro chạy và một trang tính mới có cấu trúc báo cáo được chèn vào.