Cách tạo Macro hoặc tập lệnh VBA trong Excel

Microsoft Excel cho phép người dùng tự động hóa các tính năng và lệnh bằng cách sử dụng macro và tập lệnh Visual Basic for Applications ( VBA ). VBA là ngôn ngữ lập trình Excel(VBA is the programming language Excel) sử dụng để tạo macro. Nó cũng sẽ thực hiện các lệnh tự động dựa trên các điều kiện cụ thể.

Macro là một loạt các lệnh được ghi trước. Chúng tự động chạy khi một lệnh cụ thể được đưa ra. Nếu bạn có các nhiệm vụ trong Microsoft Excel mà bạn phải thực hiện nhiều lần, chẳng hạn như kế toán, quản lý dự án hoặc tính lương, việc tự động hóa các quy trình này có thể tiết kiệm rất nhiều thời gian.

Trong tab Nhà phát triển trên (Developer)Ruy-băng(Ribbon) trong Excel , người dùng có thể ghi lại các lần nhấp chuột và tổ hợp phím (macro). Tuy nhiên, một số chức năng yêu cầu tập lệnh chuyên sâu hơn những gì macro có thể cung cấp. Đây là lúc mà kịch bản VBA trở thành một lợi ích to lớn. (VBA)Nó cho phép người dùng tạo các tập lệnh phức tạp hơn.

Trong bài viết này, chúng tôi sẽ giải thích những điều sau:

  • Bật tập lệnh và macro
  • Cách tạo Macro trong Excel
  • Ví dụ cụ thể về Macro
  • Tìm hiểu thêm về VBA
  • Tạo một nút(Button) để bắt đầu với VBA
  • Thêm mã(Add Code) để cung cấp chức năng cho nút(Button Functionality)
  • Nó có hoạt động không?

Bật tập lệnh và macro(Enabling Scripts & Macros)

Trước khi có thể tạo macro hoặc tập lệnh VBA trong (VBA)Excel , bạn phải bật tab Nhà phát triển trên menu (Developer )Ruy-băng(Ribbon) . Tab Nhà phát triển không được bật theo mặc định . (Developer)Để kích hoạt nó:

  • Mở trang tính Excel.
  • Bấm vào Tệp(File ) > Tùy chọn( Options ) > Tùy chỉnh Ruy-băng.( Customize Ribbon.)

  • Đánh dấu vào ô bên cạnh Nhà phát triển(Developer) .

  • Bấm vào tab Nhà phát triển(Developer) từ menu Ruy-băng(Ribbon) .

  • Tiếp theo, nhấp vào Bảo mật Macro(Macro Security) và đánh dấu vào hộp bên cạnh Bật tất cả các macro (không được khuyến nghị; có thể chạy mã nguy hiểm tiềm ẩn). (Enable all macros (not recommended; potentially dangerous code can run). )
  • Sau đó bấm OK.

Lý do macro không được bật theo mặc định và đi kèm với cảnh báo là chúng là mã máy tính có thể chứa phần mềm độc hại.

Đảm(Make) bảo rằng tài liệu đến từ một nguồn đáng tin cậy nếu bạn đang làm việc trên một dự án được chia sẻ trong Excel và các chương trình Microsoft khác.

Khi bạn hoàn tất việc sử dụng các tập lệnh và macro của mình, hãy tắt tất cả các macro để ngăn mã độc hại có thể lây nhiễm vào các tài liệu khác.

Tạo Macro trong Excel(Create a Macro in Excel)

Tất cả các hành động bạn thực hiện trong Excel khi ghi macro đều được thêm vào đó. 

  • Từ tab Nhà phát triển, nhấp vào Ghi Macro(Record Macro) .

  • Nhập tên Macro(Macro name) , phím tắt(Shortcut key)Mô tả. (Description. )Tên macro(Macro) phải bắt đầu bằng một chữ cái và không được có bất kỳ khoảng trắng nào. Phím tắt phải là một chữ cái.

Quyết định nơi bạn muốn lưu macro từ các tùy chọn sau:

  • Sổ làm việc Macro Cá nhân(Personal Macro Workbook) : Điều này sẽ tạo một tài liệu Excel ẩn với các macro được lưu trữ để sử dụng với bất kỳ tài liệu Excel nào .
  • Sổ làm việc Mới(New Workbook) : Sẽ tạo một tài liệu Excel mới để lưu trữ các macro đã tạo.
  • Sổ làm việc này(This Workbook) : Điều này sẽ chỉ được áp dụng cho tài liệu bạn hiện đang chỉnh sửa.

Khi hoàn tất, hãy nhấp vào OK

  • Chạy(Run) qua các hành động bạn muốn tự động hóa. Khi bạn hoàn tất, hãy nhấp vào Dừng ghi(Stop Recording)
  • Khi bạn muốn truy cập macro của mình, hãy sử dụng phím tắt bạn đã cung cấp cho nó.

Ví dụ cụ thể về Macro(Specific Example Of a Macro)

Hãy bắt đầu với một bảng tính đơn giản cho khách hàng và số tiền họ nợ. Chúng ta sẽ bắt đầu bằng cách tạo macro để định dạng trang tính.

Giả sử rằng bạn quyết định rằng tất cả các bảng tính nên sử dụng một định dạng khác, chẳng hạn như đặt họ và tên trong các cột riêng biệt. 

Bạn có thể thay đổi điều này theo cách thủ công. Hoặc bạn có thể tạo một chương trình bằng macro để tự động định dạng nó một cách chính xác cho bạn.

Ghi lại Macro(Record The Macro)

  • Nhấp vào Ghi Macro(Record Macro) . Hãy gọi nó là Format_Customer_Data và nhấp vào OK
  • Để có được định dạng chúng tôi muốn, chúng tôi sẽ thay đổi tên cột đầu tiên thành First Name
  • Sau đó, chèn một cột bên cạnh A và gọi nó là Họ(Last Name)
  • Đánh dấu(Highlight) tất cả các tên trong cột đầu tiên (vẫn bao gồm họ và tên) và nhấp vào Dữ liệu(Data) từ điều hướng ruy-băng.
  • Nhấp vào Văn bản thành Cột(Text to Columns) .

  • Đánh dấu vào Delimited > Next > Separate by Space > Next > Finish . Xem ảnh chụp màn hình bên dưới và cách họ và tên được phân tách bằng quy trình trên.

  • Để định dạng trường Số dư Đến hạn(Balance Due) , hãy đánh dấu các số tiền. Bấm(Click) vào Trang chủ(Home ) > Định dạng có Điều kiện(Conditional Formatting) > Đánh dấu Quy tắc Ô(Highlight Cell Rules) > Lớn hơn(Greater Than ) > 0 .

Điều này sẽ làm nổi bật các ô có số dư đến hạn. Chúng tôi đã thêm một số khách hàng không có số dư do phải minh họa thêm định dạng.  

  • Quay lại Nhà phát triển(Developer ) và nhấp vào Dừng ghi(Stop Recording) .

Áp dụng Macro(Apply The Macro)

Hãy bắt đầu với bảng tính ban đầu trước khi chúng tôi ghi macro để định dạng nó một cách chính xác. Nhấp(Click) vào Macro(Macros) , chọn và Chạy(Run) macro bạn vừa tạo.

Khi bạn chạy macro, tất cả các định dạng sẽ được thực hiện cho bạn. Macro chúng ta vừa tạo này được lưu trữ trong Visual Basic Editor .

Người dùng có thể chạy macro theo nhiều cách khác nhau. Đọc Chạy macro(Run a macro) để tìm hiểu thêm.  

Tìm hiểu thêm về VBA(Learn More About VBA)

Để tìm hiểu về VBA, hãy nhấp vào Macro từ tab Nhà phát triển . (Developer)Tìm một cái bạn đã tạo và nhấp vào Chỉnh sửa.(Edit.)

Mã bạn thấy trong hộp ở trên là mã được tạo khi bạn ghi macro của mình. 

Nó cũng là những gì bạn sẽ chạy khi bạn muốn định dạng bảng tính thanh toán của khách hàng khác theo cách tương tự.

Tạo một nút để bắt đầu với VBA(Create a Button To Get Started With VBA)

Sử dụng cùng một bảng tính ở trên với khách hàng và số tiền họ nợ, hãy tạo một công cụ chuyển đổi tiền tệ.

  • Để chèn một phần tử nút, hãy điều hướng đến tab  Nhà phát triển .(Developer )
  • Chọn Nút lệnh ActiveX(ActiveX Command Button ) từ menu thả xuống bên cạnh Chèn(Insert) trong phần Điều khiển (Controls).

  • Kéo(Drag) nút vào bất kỳ vị trí nào trên bảng tính để bạn có thể dễ dàng truy cập và thay đổi nó sau này nếu bạn muốn.

  • Để đính kèm mã, nhấp chuột phải vào nút và chọn Thuộc tính(Properties) . Chúng tôi sẽ giữ Tên(Name)CommandButtonChú thích(Caption ) để Chuyển đổi( Convert ) (đây là văn bản nút).

Thêm mã để cung cấp chức năng cho nút(Add Code To Give The Button Functionality)

Mã hóa VBA(VBA) không diễn ra trong giao diện Excel . Nó được thực hiện trong một môi trường riêng biệt.  

  • Chuyển đến tab Nhà phát triển và đảm bảo (Developer)Chế độ thiết kế(Design Mode) đang hoạt động.

  • Để truy cập mã của nút chúng ta vừa tạo, hãy nhấp chuột phải vào nó và chọn View Code .

  • Nhìn vào đoạn mã trong ảnh chụp màn hình bên dưới, hãy để ý phần đầu ( Private Sub ) và phần cuối ( End Sub ) của mã đã ở đó.

  • Đoạn mã dưới đây sẽ thúc đẩy quy trình chuyển đổi tiền tệ.

ActiveCell.Value = (ActiveCell * 1.28)

Mục đích của chúng tôi trong phần này là chuyển đổi đơn vị tiền tệ trong bảng tính của chúng tôi. Tập lệnh trên phản ánh tỷ giá hối đoái từ GBP sang USD . Giá trị mới của ô sẽ là giá trị hiện tại nhân với 1,28.

Ảnh chụp màn hình bên dưới cho bạn thấy mã trông như thế nào trong cửa sổ VBA sau khi bạn chèn nó.

  • Đi tới Tệp(File ) trong điều hướng trên cùng và nhấp vào Đóng và Trở lại Microsoft Excel(click on Close and Return to Microsoft Excel) để quay lại giao diện Excel chính .

Nó có hoạt động không?(Did It Work?)

Trước khi bạn có thể kiểm tra mã của mình, trước tiên bạn phải tắt Chế độ thiết kế(Design Mode) (nhấp vào nó) để tránh các sửa đổi thêm và cung cấp chức năng cho nút.

  • Nhập(Type) bất kỳ số nào vào bảng tính của bạn và sau đó nhấp vào nút Chuyển đổi(Convert) . Nếu giá trị của số của bạn tăng lên khoảng một phần tư, nó đã hoạt động.

Đối với ví dụ này, tôi đặt số 4 vào một ô. Sau khi nhấp vào Chuyển đổi(Convert) , con số đã thay đổi thành 5,12. Vì 4 lần 1,28 là 5,12, mã đã được thực hiện chính xác.

Bây giờ bạn đã hiểu cách tạo macro hoặc tập lệnh trong Excel , bạn có thể sử dụng chúng để tự động hóa vô số hành động trong Excel .



About the author

Tôi là một chuyên gia máy tính với hơn 10 năm kinh nghiệm. Khi rảnh rỗi, tôi thích giúp việc tại bàn văn phòng và dạy bọn trẻ cách sử dụng Internet. Kỹ năng của tôi bao gồm nhiều thứ, nhưng điều quan trọng nhất là tôi biết cách giúp mọi người giải quyết vấn đề. Nếu bạn cần ai đó có thể giúp bạn trong việc khẩn cấp hoặc chỉ muốn một số mẹo cơ bản, vui lòng liên hệ với tôi!



Related posts