Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Office

Cách Tạo Macro Hoặc Script VBA Trong Excel

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

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

Cách Tạo Macro Hoặc Script VBA Trong Excel

Dưới tab Developer (Nhà phát triển) trên Ribbon (Dải công cụ) trong Excel, người dùng có thể ghi lại chuột và phím tắt (macro). Tuy nhiên, một số chức năng đòi hỏi lập trình sâu hơn những gì macro cung cấp. Đây là lúc scripting VBA trở nên cực kỳ hữu ích. Nó cho phép người dùng tạo script phức tạp hơn.

Trong bài viết này, chúng tôi sẽ giải thích:

  • Bật Script & Macro
  • Cách Tạo Macro Trong Excel
  • Ví Dụ Cụ Thể Của Macro
  • Tìm Hiểu Thêm Về VBA
  • Tạo Nút Để Bắt Đầu Với VBA
  • Thêm Code Để Cho Nút Chức Năng
  • Kiểm Tra Hoạt Động

Bật Script & Macro

Trước khi tạo macro hoặc script VBA trong Excel, bạn phải bật tab Developer trên menu Ribbon. Tab Developer không được bật mặc định. Để bật nó:

  • Mở bảng tính Excel.
  • Nhấp vào File > Options > Customize Ribbon.
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Đánh dấu vào ô bên cạnh Developer.
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Nhấp vào tab Developer từ menu Ribbon.
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Tiếp theo, nhấp vào Macro Security (Bảo mật Macro) và đánh dấu ô bên cạnh Enable all macros (not recommended; potentially dangerous code can run) (Bật tất cả macro - không khuyến khích; mã nguy hiểm có thể chạy).
  • Sau đó nhấp OK.
Cách Tạo Macro Hoặc Script VBA Trong Excel

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

Đảm bảo tài liệu đến từ nguồn tin cậy nếu bạn làm việc trên dự án chung trong Excel và các chương trình Microsoft khác.

Khi hoàn thành sử dụng script và macro, hãy tắt tất cả macro để ngăn mã độc tiềm ẩn lây lan sang tài liệu khác.

Tạo Macro Trong Excel

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

  • Từ tab Developer, nhấp vào Record Macro (Ghi Macro).
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Nhập Macro name (Tên macro), Shortcut key (Phím tắt), và Description (Mô tả). Tên macro phải bắt đầu bằng chữ cái và không có khoảng trắng. Phím tắt phải là một chữ cái.

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

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

Khi xong, nhấp OK.

  • Thực hiện các hành động bạn muốn tự động hóa. Khi hoàn tất, nhấp Stop Recording (Dừng ghi).
  • Khi muốn truy cập macro, dùng phím tắt bạn đã gán.

Ví Dụ Cụ Thể Của Macro

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

Cách Tạo Macro Hoặc Script VBA Trong Excel

Giả sử bạn quyết định tất cả bảng tính nên dùng định dạng khác như tách họ và tên thành cột riêng biệt.

Bạn có thể thay đổi thủ công. Hoặc tạo chương trình dùng macro để tự động định dạng đúng cho bạn.

Ghi Macro

  • Nhấp vào Record Macro. Đặt tên Format_Customer_Data và nhấp OK.
  • Để có định dạng mong muốn, thay đổi tên cột đầu thành First Name (Tên).
  • Sau đó chèn cột bên cạnh cột A và đặt tên Last Name (Họ).
  • Chọn tất cả tên trong cột đầu (vẫn bao gồm cả họ và tên), nhấp vào Data (Dữ liệu) từ điều hướng ribbon.
  • Nhấp vào Text to Columns (Văn bản thành cột).
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Chọn Delimited (Có dấu phân cách) > Next > Separate by Space (Tách bằng khoảng trắng) > Next > Finish. Xem ảnh chụp màn hình dưới và cách họ/tên được tách bằng quy trình trên.
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Để định dạng trường Balance Due (Số dư nợ), chọn các số tiền. Nhấp Home > Conditional Formatting (Định dạng có điều kiện) > Highlight Cell Rules (Quy tắc làm nổi bật ô) > Greater Than (Lớn hơn) > 0.
Cách Tạo Macro Hoặc Script VBA Trong Excel

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

  • Quay lại Developer và nhấp Stop Recording.
Cách Tạo Macro Hoặc Script VBA Trong Excel

Áp Dụng Macro

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

Khi chạy macro, tất cả định dạng được thực hiện tự động. Macro vừa tạo được lưu trong Visual Basic Editor.

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

Tìm Hiểu Thêm Về VBA

Để tìm hiểu về VBA, nhấp vào Macro từ tab Developer. Tìm macro bạn đã tạo và nhấp Edit (Chỉnh sửa).

Cách Tạo Macro Hoặc Script VBA Trong Excel

Mã bạn thấy trong khung trên là mã được tạo khi bạn ghi macro.

Đó cũng là mã bạn sẽ chạy khi muốn định dạng các bảng tính thanh toán khách hàng khác theo cùng cách.

Tạo Nút Để Bắt Đầu Với VBA

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

  • Để chèn phần tử nút, điều hướng đến tab Developer.
  • Chọn ActiveX Command Button (Nút lệnh ActiveX) từ menu thả xuống bên cạnh Insert (Chèn) trong phần Controls (Điều khiển).
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Kéo nút đến vị trí bất kỳ trên bảng tính để dễ truy cập và thay đổi sau nếu muốn.
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Để gán code, nhấp chuột phải vào nút và chọn Properties (Thuộc tính). Giữ Name là CommandButton và Caption là Convert (Chuyển đổi - đây là văn bản nút).
Cách Tạo Macro Hoặc Script VBA Trong Excel

Thêm Code Để Cho Nút Chức Năng

VBA coding không diễn ra trong giao diện Excel. Nó được thực hiện trong môi trường riêng biệt.

  • Đi đến tab Developer và đảm bảo Design Mode (Chế độ thiết kế) đang hoạt động.
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Để truy cập mã của nút vừa tạo, nhấp chuột phải vào nó và chọn View Code (Xem mã).
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Nhìn vào mã trong ảnh chụp dưới, lưu ý phần đầu (Private Sub) và cuối (End Sub) của mã đã có sẵn.
Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Mã dưới đây sẽ điều khiển quy trình chuyển đổi tiền tệ.

ActiveCell.Value = (ActiveCell * 1.28)

Mục đích phần này là chuyển đổi tiền tệ trong bảng tính. Script trên phản ánh tỷ giá từ GBP sang USD. Giá trị mới của ô sẽ là giá trị hiện tại nhân 1.28.

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

Cách Tạo Macro Hoặc Script VBA Trong Excel
  • Đi đến File trong điều hướng trên cùng và nhấp vào Close and Return to Microsoft Excel để quay lại giao diện Excel chính.
Cách Tạo Macro Hoặc Script VBA Trong Excel

Có Hoạt Động Không?

Trước khi kiểm tra mã, bạn phải tắt Design Mode (nhấp vào nó) để tránh sửa đổi thêm và cho nút hoạt động.

  • Nhập bất kỳ số nào vào bảng tính và nhấp nút Convert. Nếu giá trị số tăng khoảng một phần tư, nó đã hoạt động.

Với ví dụ này, tôi nhập số 4 vào ô. Sau khi nhấp Convert, số thành 5.12. Vì 4 nhân 1.28 bằng 5.12, mã đã thực thi đúng.

Cách Tạo Macro Hoặc Script VBA Trong Excel

Bây giờ bạn đã hiểu cách tạo macro hoặc script trong Excel, bạn có thể dùng chúng để tự động hóa nhiều hành động trong Excel.