Làm thế nào để viết một macro trong Excel?

Macro—có thể bạn đã từng nghe thấy từ này trước đây và thậm chí bạn có thể đã nghe mọi người nói về việc chúng tuyệt vời như thế nào. Nhưng những gì cường điệu tất cả về?

Khi làm việc với bảng tính trong Excel 2013, một số quy trình có thể lặp đi lặp lại (và tôi dám nói là nhàm chán). Một ví dụ là định dạng báo cáo. Mặc dù chỉnh sửa kiểu văn bản và điều chỉnh các ô có thể giống như một nhiệm vụ nhàm chán, nhưng việc trình bày dữ liệu của bạn rất quan trọng đối với những người sẽ thu thập ý nghĩa từ báo cáo sau này. Nhưng đây là nơi macro có thể giúp bạn. Bạn có thể tạo macro Excel để biến 10 phút nhấp chuột thành một lần nhấp chuột

Cách tạo Macro Excel

Làm thế nào để viết một macro trong Excel?

Hộp thoại Record Macro của Excel với các lựa chọn mẫu

Để bắt đầu tạo macro, trước tiên bạn cần thêm tab Nhà phát triển vào dải băng của mình. Hãy xem blog của chúng tôi về Cách Thêm và Xóa Tab khỏi Dải băng Office 2013 để tìm hiểu cách thực hiện

Khi bạn đã thêm tab Nhà phát triển, hãy làm theo các bước sau để tạo macro Excel

  1. Điều hướng đến tab Nhà phát triển và chọn nút Ghi macro trong nhóm Mã HOẶC nhấp vào nút ở góc dưới cùng bên trái của màn hình trông giống như một bảng tính có chấm đỏ ở góc trên cùng bên trái
  2. Tạo tên cho macro của bạn. Không được phép sử dụng dấu cách nhưng bạn có thể sử dụng dấu gạch dưới để thay thế. Trong hình ảnh trên trang này, chúng tôi đã đặt tên cho macro của mình là “Format_Report. ”
  3. Chọn một phím tắt. Đảm bảo chọn một chữ cái chưa được sử dụng làm phím tắt vì nó sẽ thay thế chữ cái gốc (i. e. , không sử dụng Ctrl+Z trừ khi bạn muốn mất phím tắt cho Hoàn tác). Bằng cách sử dụng Shift, bạn có thể mở rộng các tùy chọn của mình (i. e. , bạn có thể sử dụng Ctrl+Shift+Z để thay thế). Trong hình minh họa của chúng tôi, chúng tôi đã chỉ định Ctrl+Shift+R làm phím tắt
  4. Chọn nơi lưu trữ macro của bạn. Thông thường, bạn sẽ muốn lưu trữ macro của mình trong Sổ làm việc này, đây là những gì chúng tôi đã chọn trong ví dụ của mình. Nếu bạn muốn nó sẵn dùng bất cứ khi nào bạn sử dụng Excel, hãy chọn Sổ làm việc Macro Cá nhân từ menu thả xuống
  5. Nhập mô tả ngắn gọn về những gì macro của bạn sẽ thực hiện trong hộp Mô tả
  6. Nhấp vào OK

Quá trình ghi macro đã bắt đầu và bây giờ là lúc thực hiện các hành động bạn muốn ghi. Tôi khuyên bạn nên bắt đầu với một số thao tác đơn giản như điều chỉnh kiểu phông chữ hoặc thay đổi màu của ô để bạn có thể cảm nhận được cách thức hoạt động của nó

Khi bạn hoàn tất, nhấn nút Dừng ghi trong nhóm Mã trên tab Nhà phát triển HOẶC nhấp vào hình vuông màu xanh lam ở góc dưới bên trái của cửa sổ Excel

Xin chúc mừng. Bạn vừa học cách tạo macro Excel

Tại sao học Excel?

Microsoft Excel không chỉ là một ứng dụng Office, nó còn hơn thế nữa. Nâng cao kỹ năng Excel của bạn để tận dụng toàn bộ khả năng của nó. Từ tính toán, công cụ vẽ đồ thị, PivotTable, macro, trực quan hóa dữ liệu, v.v.

Chúng tôi cung cấp nhiều khóa học về Excel, từ giới thiệu Excel cho người mới bắt đầu đến các lớp nâng cao, đến các lớp về Pivot Table, v.v.

Nếu bạn có (và có lẽ ngay cả khi bạn chưa có), bạn có thể nhận thấy rằng những công việc thông thường như định dạng hoặc chèn văn bản tiêu chuẩn thường chiếm một lượng thời gian đáng kể. Ngay cả khi bạn đã thực hành thực hiện các hoạt động này và bạn có thể hoàn thành chúng tương đối nhanh, thì “5 phút” mà bạn dành gần như mỗi ngày để chèn tên và thông tin chi tiết của công ty mình vào tất cả các bảng tính Excel mà bạn gửi cho khách hàng/đồng nghiệp sẽ bắt đầu thêm vào

Trong hầu hết (không phải tất cả) các trường hợp, việc đầu tư nhiều thời gian vào các hoạt động phổ biến nhưng lặp đi lặp lại này không mang lại kết quả tương xứng. Trên thực tế, hầu hết trong số họ là những ví dụ tuyệt vời về nguyên lý 80/20 trong thực tế. Chúng là một phần của phần lớn các nỗ lực ít ảnh hưởng đến đầu ra

Tuy nhiên, nếu bạn đang đọc Hướng dẫn về macro Excel dành cho người mới bắt đầu này, thì có lẽ bạn đã biết macro là một trong những tính năng mạnh mẽ nhất của Excel như thế nào và cách chúng có thể giúp bạn tự động hóa các tác vụ lặp đi lặp lại

Do đó, có thể bạn đang tìm kiếm hướng dẫn cơ bản cho người mới bắt đầu giải thích cách tạo macro theo cách dễ thực hiện

Macro là một chủ đề nâng cao và nếu bạn muốn trở thành một lập trình viên nâng cao, bạn sẽ gặp phải các tài liệu phức tạp. Đây là lý do tại sao một số tài nguyên đào tạo về chủ đề này đôi khi khó theo dõi

Tuy nhiên, điều này không có nghĩa là quá trình thiết lập macro trong Excel là không thể học. Trên thực tế, trong Hướng dẫn Macro Excel dành cho Người mới bắt đầu này, tôi giải thích cách bạn có thể bắt đầu tạo các macro cơ bản ngay bây giờ trong 7 bước đơn giản

Ngoài việc hướng dẫn bạn từng bước trong quá trình thiết lập macro, hướng dẫn này còn bao gồm một ví dụ từng bước

Chính xác hơn, trong hướng dẫn Excel này, tôi chỉ cho bạn cách thiết lập một macro thực hiện các chức năng sau

  • Nhập “Đây là hướng dẫn Excel tốt nhất” vào ô hiện hoạt
  • Tự động điều chỉnh chiều rộng cột của ô hiện hoạt để văn bản đã nhập vừa với một cột
  • Tô màu đỏ cho ô đang hoạt động
  • Thay đổi màu phông chữ của ô hiện hoạt thành màu xanh lam

Hướng dẫn Macro Excel dành cho Người mới bắt đầu này đi kèm với sổ làm việc Excel có chứa dữ liệu và macro tôi sử dụng (bao gồm cả macro tôi mô tả ở trên). Bạn có thể truy cập miễn phí ngay lập tức vào sổ làm việc mẫu này bằng cách nhấp vào nút bên dưới

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

7 bước mà tôi giải thích bên dưới là đủ để giúp bạn tạo ra các macro Excel cơ bản

Tuy nhiên, nếu bạn quan tâm đến việc giải phóng hoàn toàn sức mạnh của macro và quan tâm đến việc học cách lập trình macro Excel bằng VBA, thì phần thứ hai của Hướng dẫn Macro Excel dành cho người mới bắt đầu này sẽ giúp bạn tìm hiểu các chủ đề nâng cao hơn bằng cách

  • Giới thiệu với bạn về Visual Basic for Applications (hoặc VBA) và Visual Basic Editor (hoặc VBE)
  • Giải thích cách bạn có thể xem các hướng dẫn lập trình thực tế đằng sau macro và cách bạn có thể sử dụng hướng dẫn này để bắt đầu tìm hiểu cách viết mã macro Excel
  • Cung cấp cho bạn một số mẹo mà bạn có thể bắt đầu sử dụng ngay bây giờ để cải thiện và đẩy nhanh quá trình tìm hiểu về macro và lập trình VBA

Bạn có thể sử dụng mục lục sau để chuyển đến bất kỳ phần nào. Tuy nhiên, tôi khuyên bạn thực sự không nên bỏ qua bất kỳ phần nào 😉

Mục lục

Bạn đã sẵn sàng để tạo macro Excel đầu tiên của mình chưa?

Vậy thì hãy bắt đầu với việc chuẩn bị…

Trước khi bạn bắt đầu tạo macro. Hiển thị tab Nhà phát triển

Trước khi bạn tạo macro Excel đầu tiên của mình, bạn phải đảm bảo rằng bạn có các công cụ thích hợp

Trong Excel, hầu hết các lệnh hữu ích khi làm việc với macro Excel và Visual Basic for Applications đều nằm trong tab Nhà phát triển

Theo mặc định, tab Nhà phát triển được ẩn bởi Excel. Do đó, trừ khi bạn (hoặc ai đó khác) đã thêm tab Nhà phát triển vào Dải băng, bạn phải làm cho Excel hiển thị tab đó để có quyền truy cập vào các công cụ thích hợp khi thiết lập macro

Trong phần này, tôi giải thích cách bạn có thể thêm tab Nhà phát triển vào Dải băng. Ở cuối phần giải thích từng bước, có một hình ảnh hiển thị toàn bộ quá trình

Lưu ý rằng bạn chỉ cần yêu cầu Excel hiển thị tab Nhà phát triển một lần. Giả sử thiết lập không bị đảo ngược sau đó, Excel sẽ tiếp tục hiển thị tab trong các cơ hội trong tương lai

1. Bước 1

Mở hộp thoại Tùy chọn Excel bằng bất kỳ phương pháp nào sau đây

  • Phương pháp số 1

    Bước 1. Sử dụng chuột, nhấp chuột phải vào Ribbon

    Bước 2. Excel hiển thị menu ngữ cảnh

    Bước 3. Nhấp vào “Tùy chỉnh Ribbon…”

    Hình ảnh sau đây minh họa 3 bước này

    Làm thế nào để viết một macro trong Excel?
    Làm thế nào để viết một macro trong Excel?


  • Phương pháp #2

    Bước 1. Nhấp vào tab File Ribbon

    Bước 2. Trên thanh điều hướng nằm ở bên trái màn hình, nhấp vào “Tùy chọn”

    Hình ảnh sau đây cho bạn thấy làm thế nào để làm điều này

    Làm thế nào để viết một macro trong Excel?
    Làm thế nào để viết một macro trong Excel?


  • Phương pháp #3

    Sử dụng phím tắt như “Alt + T + O” hoặc “Alt + F + T”

2. Bước 2

Khi bạn đang ở trong hộp thoại Tùy chọn Excel, hãy đảm bảo rằng bạn đang ở tab Tùy chỉnh Dải băng bằng cách nhấp vào tab này trên thanh điều hướng nằm ở bên trái

3. Bước 3

Hãy xem hộp danh sách Tùy chỉnh Dải băng, là hộp danh sách nằm ở bên phải của hộp thoại Tùy chọn Excel và tìm “Nhà phát triển”

Đây là tab Nhà phát triển, theo mặc định, là tab thứ ba từ cuối danh sách (ngay phía trên “Phần bổ trợ” và “Xóa nền”)

Theo mặc định, hộp bên trái của "Nhà phát triển" trống. Trong trường hợp này, tab Nhà phát triển không được hiển thị trong Dải băng. Nếu hộp này có dấu kiểm, tab Nhà phát triển sẽ xuất hiện trong Dải băng

4. Bước 4

Nếu hộp bên trái của "Nhà phát triển" trống, hãy nhấp vào hộp đó để thêm dấu kiểm

Nếu hộp đã có dấu kiểm, bạn không cần phải làm gì cả (bạn đã có tab Nhà phát triển trong Dải băng)

5. Bước #5

Nhấp vào nút OK ở góc dưới bên phải của hộp thoại Tùy chọn Excel

Excel đưa bạn trở lại trang tính mà bạn đang làm việc và tab Nhà phát triển xuất hiện trong Dải băng

Cách bật tab Nhà phát triển trong hình ảnh

Hình ảnh bên dưới sẽ hướng dẫn bạn từng bước qua quy trình được mô tả ở trên

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Công cụ để tạo Macro Excel

Excel cho phép bạn tạo macro bằng cách sử dụng một trong các công cụ sau

  • Trình ghi Macro, cho phép bạn ghi lại các hành động bạn thực hiện trong Sổ làm việc Excel
  • Trình soạn thảo Visual Basic, yêu cầu bạn viết hướng dẫn mà bạn muốn Excel tuân theo bằng ngôn ngữ lập trình Visual Basic for Applications

Tùy chọn thứ hai (yêu cầu lập trình) phức tạp hơn tùy chọn thứ nhất, đặc biệt nếu bạn là người mới làm quen với thế giới macro và bạn không có kinh nghiệm lập trình

Vì hướng dẫn này dành cho người mới bắt đầu nên tôi giải thích bên dưới cách ghi macro Excel bằng trình ghi. Nếu mục tiêu của bạn là chỉ ghi và phát macro, hướng dẫn này có thể bao gồm hầu hết kiến ​​thức bạn cần để đạt được mục tiêu của mình

Theo giải thích của John Walkenbach (một trong những người có thẩm quyền hàng đầu về Microsoft Excel) trong Kinh thánh Excel 2013, nếu mục tiêu của bạn là chỉ ghi và phát macro

(…) bạn không cần quan tâm đến chính ngôn ngữ đó (mặc dù hiểu biết cơ bản về cách thức hoạt động của mọi thứ không gây hại gì)

Tuy nhiên, nếu bạn muốn tận dụng tối đa các macro Excel và sử dụng hết sức mạnh của chúng, cuối cùng bạn sẽ cần phải học VBA. Như ông. Excel (Bill Jelen) (một trong những trình hướng dẫn Excel hàng đầu khác) và Tracy Syrstad (nhà tư vấn Excel và Access) cho biết trong VBA và Macro của Excel 2013, việc ghi macro rất hữu ích khi bạn là người mới bắt đầu và không có kinh nghiệm về lập trình macro nhưng…

(…) khi bạn có thêm kiến ​​thức và kinh nghiệm, bạn bắt đầu ghi lại các dòng mã ít thường xuyên hơn

Vì vậy, tôi đề cập sâu hơn một số chủ đề liên quan đến Visual Basic for Applications trong các hướng dẫn khác

Tuy nhiên, hiện tại, tôi giải thích bên dưới cách bạn có thể ghi macro Excel bằng trình ghi

7 bước đơn giản để tạo macro đầu tiên của bạn

VÂNG…

Bây giờ bạn đã thêm tab Nhà phát triển vào Dải băng và bạn biết rằng có hai công cụ khác nhau mà bạn có thể sử dụng để tạo macro, bao gồm cả trình ghi

Bạn đã sẵn sàng để tạo macro Excel đầu tiên của mình. Để làm điều đó, chỉ cần làm theo 7 bước đơn giản mà tôi giải thích bên dưới

1. Bước 1

Nhấp vào tab Nhà phát triển

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

2. Bước 2

Đảm bảo rằng tính năng ghi tham chiếu tương đối được bật bằng cách chọn “Sử dụng tham chiếu tương đối”

Nếu tính năng ghi tham chiếu tương đối không được bật, như trong trường hợp của ảnh chụp màn hình bên dưới, hãy nhấp vào “Sử dụng tham chiếu tương đối”

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Nếu tính năng ghi tham chiếu tương đối được bật, như trong trường hợp của ảnh chụp màn hình bên dưới, thì bạn không cần nhấp vào bất kỳ thứ gì

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Tôi có thể giải thích thêm về việc sử dụng các tham chiếu tương đối và tuyệt đối trong các hướng dẫn trong tương lai. Tuy nhiên, hiện tại, đảm bảo bạn đã bật tính năng ghi tham chiếu tương đối

Khi tắt tính năng ghi tương đối (theo mặc định), địa chỉ ô tuyệt đối/chính xác sẽ được ghi. Khi tính năng ghi tham chiếu tương đối được bật, mọi hành động được Excel ghi lại đều có liên quan đến ô hiện hoạt. Nói cách khác, bản ghi tuyệt đối, như được giải thích bởi Bill Jelen trong Excel 2013 ở phần Độ sâu, là “cực kỳ theo nghĩa đen”

Ví dụ: giả sử rằng bạn đang ghi một macro Excel

  • Nhập "Đây là hướng dẫn Excel tốt nhất" vào ô hiện hoạt
  • Sao chép văn bản bạn vừa nhập và dán vào ô ngay bên dưới

Nếu tại thời điểm ghi, ô đang hoạt động là A3 và bạn không bật ghi tương đối, macro sẽ ghi ô đó phải

  • Nhập “Đây là hướng dẫn Excel tốt nhất” vào ô hiện hoạt
  • Sao chép văn bản và dán vào ô A4, là ô ngay bên dưới ô đang hoạt động tại thời điểm bắt đầu ghi macro

Như bạn có thể tưởng tượng, macro này không hoạt động tốt nếu khi sử dụng nó, bạn đang ở trong bất kỳ ô nào khác ngoài ô A3

Hình ảnh sau đây cho thấy điều này sẽ trông như thế nào nếu bạn đang làm việc trong ô H1 và kích hoạt macro với các tham chiếu tuyệt đối được giải thích ở trên

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

3. Bước 3

Nhấp vào “Ghi Macro” trên tab Nhà phát triển hoặc trên nút Ghi Macro xuất hiện ở phía bên trái của Thanh trạng thái

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

4. Bước 4

Hộp thoại Ghi Macro xuất hiện. Hộp thoại này cho phép bạn

  • Gán tên cho macro

    Excel gán tên mặc định cho macro. “Macro1”, “Macro2”, “Macro3”, v.v. Tuy nhiên, như John Walkenbach đã giải thích trong Lập trình VBA Excel cho Người mới bắt đầu, việc sử dụng tên mô tả thường hữu ích hơn

    Các quy tắc chính cho tên macro là chúng phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới (_) (không phải số), không được có dấu cách hoặc ký tự đặc biệt ngoại trừ dấu gạch dưới (được phép) và không được xung đột với tên đã tồn tại trước đó . Tôi trình bày chi tiết về chủ đề đặt tên macro tại đây (đối với thủ tục Phụ) và tại đây (đối với thủ tục Chức năng)

    Ví dụ: “Hướng dẫn Excel tốt nhất” không phải là tên được chấp nhận, nhưng “Best_Excel_Tutorial” hoạt động

    Làm thế nào để viết một macro trong Excel?
    Làm thế nào để viết một macro trong Excel?


  • Gán phím tắt cho macro

    Bước này là tùy chọn. Bạn có thể thiết lập macro mà không cần phím tắt nhưng việc chọn phím tắt cho phép bạn thực thi macro bằng cách chỉ cần nhấn tổ hợp phím đã chọn

    Phím tắt được gán có dạng “Ctrl + tổ hợp phím”. Trong ngữ cảnh này, tổ hợp phím có nghĩa là (i) một chữ cái hoặc (ii) tổ hợp một chữ cái cộng với phím Shift

    Khi tạo phím tắt cho macro, bạn muốn cẩn thận về tổ hợp phím chính xác mà bạn chọn

    Nếu bạn chọn một lối tắt bàn phím đã được chỉ định trước đó (ví dụ: một lối tắt bàn phím tích hợp sẵn), lựa chọn lối tắt bàn phím của bạn cho macro Excel sẽ ghi đè và vô hiệu hóa lối tắt bàn phím có sẵn. Vì Excel có một số phím tắt tích hợp có dạng “Ctrl + Letter”, nên nguy cơ vô hiệu hóa các phím tắt tích hợp là không nhỏ

    Lấy ví dụ, phím tắt “Ctrl + B”, đây là phím tắt tích hợp cho lệnh Bold

    Tuy nhiên, nếu bạn gán phím tắt “Ctrl + B” cho một macro cụ thể, thì phím tắt tích hợp sẵn cho lệnh In đậm sẽ bị tắt. Do đó, nếu bạn nhấn “Ctrl + B”, macro sẽ được thực thi nhưng phông chữ của văn bản đã chọn sẽ không được in đậm

    Một cách để giải quyết vấn đề này, thường hoạt động, là gán các phím tắt có dạng “Ctrl + Shift + Letter”. Nguy cơ ghi đè và vô hiệu hóa phím tắt hiện có trước đó sẽ nhỏ hơn, nhưng trong mọi trường hợp, tôi khuyên bạn nên tiếp tục cẩn thận về tổ hợp phím chính xác mà mình chọn

    Điều này có nghĩa là, ví dụ: thay vì chọn “Ctrl + B” làm phím tắt, chúng ta có thể chỉ định “Ctrl + Shift + B”

    Làm thế nào để viết một macro trong Excel?
    Làm thế nào để viết một macro trong Excel?


  • Quyết định nơi bạn muốn lưu trữ macro

    Bạn có thể lưu trữ macro trong sổ làm việc mà bạn đang làm việc (“This Workbook”), tệp Excel mới (“New Workbook”) hoặc sổ làm việc macro cá nhân (“Personal Macro Workbook”)

    Lựa chọn mặc định là lưu trữ macro trong sổ làm việc bạn đang làm việc. Trong trường hợp này, bạn chỉ có thể sử dụng macro đó khi sổ làm việc cụ thể đó đang mở

    Làm thế nào để viết một macro trong Excel?
    Làm thế nào để viết một macro trong Excel?

    Nếu bạn chọn “New Workbook”, Excel sẽ mở một tệp mới. Bạn có thể ghi và lưu macro trong sổ làm việc mới đó, nhưng cũng giống như trường hợp chọn “This Workbook”, macro chỉ hoạt động trong tệp nơi nó được tạo

    Tùy chọn lưu trữ nâng cao hơn là “Personal Macro Workbook”. Trong Excel 2013 In Depth, Bill Jelen định nghĩa Sổ làm việc Macro Cá nhân là

    (…) một sổ làm việc đặc biệt được thiết kế để chứa các macro có mục đích chung có thể áp dụng cho bất kỳ sổ làm việc nào

    Ưu điểm chính của việc lưu macro trong Sổ làm việc Macro Cá nhân là các macro đó sau này có thể được sử dụng trong các tệp Excel trong tương lai vì tất cả các macro đó đều sẵn dùng khi bạn sử dụng Excel trong cùng một máy tính mà bạn đã lưu chúng, bất kể bạn có đang làm việc trên một máy tính hay không.

  • Tạo mô tả macro

    Có một mô tả macro là tùy chọn. Tuy nhiên, như giải thích của Greg Harvey trong Excel 2013 All-in-One for Dummies

    Bạn nên có thói quen ghi lại thông tin này mỗi khi bạn tạo một macro mới để bạn và đồng nghiệp của bạn luôn có thể biết những gì mong đợi từ macro khi bất kỳ ai trong số các bạn chạy nó

    Harvey cũng đề nghị bạn bao gồm ngày lưu macro và ai đã tạo macro

    Làm thế nào để viết một macro trong Excel?
    Làm thế nào để viết một macro trong Excel?

5. Bước #5

Khi bạn đã gán tên, hãy đặt vị trí bạn muốn lưu trữ macro và (nếu muốn) đã gán phím tắt và tạo mô tả macro, nhấp vào nút OK để đóng hộp thoại Ghi Macro

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

6. Bước #6

Thực hiện các hành động bạn muốn macro ghi lại và lưu trữ

7. Bước #7

Nhấp vào “Dừng ghi” trên tab Nhà phát triển hoặc trên nút Dừng ghi Macro xuất hiện ở phía bên trái của Thanh trạng thái

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Vậy là xong… thực sự chỉ cần 7 bước đơn giản này để ghi lại macro đầu tiên của bạn

Ví dụ về cách tạo một macro Excel

Nếu bạn làm theo 7 bước đơn giản được giải thích ở trên, bạn đã có thể bắt đầu tạo các macro cơ bản

Tuy nhiên, tôi đã hứa rằng Hướng dẫn Macro Excel cho Người mới bắt đầu này sẽ bao gồm một ví dụ. Do đó, trong phần này, chúng tôi thiết lập một macro thực hiện ba việc sau

  • Nhập “Đây là hướng dẫn Excel tốt nhất” vào ô hiện hoạt
  • Tự động điều chỉnh chiều rộng cột của ô hiện hoạt
  • Tô màu đỏ cho ô đang hoạt động
  • Thay đổi màu phông chữ của ô hiện hoạt thành màu xanh lam

Tôi đã giải thích cách bạn có thể hiển thị tab Nhà phát triển trong Excel. Vì bạn chỉ cần yêu cầu Excel một lần để hiển thị tab Nhà phát triển, hình ảnh bên dưới chỉ hiển thị bản ghi thực tế của macro

Đối với ví dụ cụ thể này, tôi đã sử dụng các tham số được mô tả ở trên khi làm việc với hộp thoại Record Macro. chính xác hơn. tên được gán cho macro là “Best_Excel_Tutorial”, phím tắt là “Ctrl + Shift + B” và macro Excel đã được lưu trong sổ làm việc Excel mà tôi đang làm việc

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Bạn xong chưa?

Nếu bạn đã hoàn thành…

Xin chúc mừng. Bạn đã tạo Macro Excel đầu tiên của mình

Kinh ngạc

Bây giờ, bạn có thể tiếp tục và chạy macro mới của mình bằng cách sử dụng phím tắt đã được chỉ định (trong trường hợp này là “Ctrl + Shift + B”). Khi bạn trở thành người dùng macro nâng cao hơn, bạn sẽ thấy rằng có một số cách khác để thực thi macro, chẳng hạn như macro Best_Excel_Tutorial ở trên

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Tôi hy vọng bạn thấy dễ dàng khi tạo macro Excel đầu tiên của mình. Ít nhất, tôi hy vọng rằng bạn nhận ra rằng những điều cơ bản về macro Excel không phức tạp như thoạt nhìn.

Tôi biết rằng macro mà chúng tôi đã ghi lại ở trên là một ví dụ rất cơ bản và trong các bài đăng khác về VBA và macro, tôi sẽ tìm hiểu sâu hơn về các chủ đề phức tạp hơn cho phép bạn thiết lập các macro phức tạp và mạnh mẽ hơn

Tuy nhiên, đúng là thông tin trong các phần trước của Hướng dẫn Macro cho Người mới bắt đầu này là đủ để thiết lập nhiều loại macro tương đối. Trong Kinh thánh Excel 2013, John Walkenbach giải thích rằng

Trong hầu hết các trường hợp, bạn có thể ghi lại hành động của mình dưới dạng macro và sau đó chỉ cần phát lại macro;

Do đó, một lần nữa xin chúc mừng bạn đã tạo macro Excel đầu tiên của mình

Bước tiếp theo trong việc tạo macro Excel. Nhập VBA

Tôi đã trích dẫn hai lần cách John Walkenbach, một trong những tác giả viết nhiều nhất về chủ đề bảng tính, ngụ ý rằng người dùng thông thường sử dụng macro Excel không nhất thiết phải học lập trình

Tuy nhiên, điều này không có nghĩa là bạn không nên học lập trình. Nếu bạn cam kết giải phóng sức mạnh của macro Excel, bạn sẽ phải học Visual Basic for Applications

Lập trình macro Excel bằng VBA mạnh hơn là chỉ ghi macro vì một số lý do, lý do chính là việc sử dụng mã VBA cho phép bạn thực hiện các tác vụ không thể ghi bằng Trình ghi Macro

Ví dụ

  • Trong Kinh thánh Excel 2013, John Walkenbach liệt kê một số ví dụ về các tác vụ không thể ghi lại, chẳng hạn như hiển thị “hộp thoại tùy chỉnh hoặc xử lý dữ liệu trong một loạt sổ làm việc và thậm chí tạo phần bổ trợ cho mục đích đặc biệt. ”
  • Trong VBA và Macro của Excel 2013, Bill Jelen và Tracy Syrstad cho chúng tôi biết rằng “điều quan trọng là phải nhận ra rằng Trình ghi Macro sẽ không bao giờ ghi lại chính xác ý định của nút Tự động tính tổng. ”

Nếu tôi có không gian, tôi có thể tiếp tục tạo một danh sách dài các ví dụ về cách lập trình với VBA là cách tạo macro ưu việt hơn so với sử dụng Trình ghi Macro

Bắt đầu học cách viết mã macro Excel

Bạn đã học cách thiết lập macro trong Excel và như bạn đã thấy trong các phần gần đây nhất, macro đang hoạt động

Để bắt đầu học cách lập trình macro, bạn nên xem hướng dẫn thực tế (hoặc mã) đằng sau mà bạn đã tạo khi ghi macro. Để làm được điều này, bạn cần kích hoạt Visual Basic Editor

Hãy mở VBE bằng cách nhấp vào “Visual Basic” trong tab Nhà phát triển hoặc sử dụng phím tắt “Alt + F11”

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Excel mở Visual Basic Editor trông đại khái như sau

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Cửa sổ VBE có thể tùy chỉnh nên (hoàn toàn) có thể cửa sổ được hiển thị trong máy tính của bạn trông hơi khác so với ảnh chụp màn hình ở trên

Lần đầu tiên tôi nhìn thấy cửa sổ này cách đây vài năm, sau đây là hai câu hỏi đầu tiên của tôi

  1. Tôi đang nhìn cái gì?
  2. Có lẽ quan trọng hơn, mã macro của tôi ở đâu?

Vì bạn có thể có những câu hỏi tương tự, hãy trả lời chúng

Bạn đang xem gì trong Visual Basic Editor

Bạn có thể chia VBE thành 6 phần chính

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

1. Mục 1. Thanh thực đơn

Thanh menu của Visual Basic Editor gần giống như các thanh menu mà bạn sử dụng trong các chương trình khác

Chính xác hơn, một thanh menu chứa các menu thả xuống nơi bạn có thể tìm thấy hầu hết các lệnh mà bạn sử dụng để đưa ra hướng dẫn và tương tác với VBE

Nếu bạn đang làm việc với các phiên bản Excel mới hơn (2007 trở lên), bạn có thể nhận thấy rằng bản thân Excel không có thanh menu mà thay vào đó là Dải băng. Lý do là vì từ Microsoft Office 2007, Microsoft đã thay menu và thanh công cụ của một số chương trình bằng thanh Ribbon.

2. Mục số 2. Thanh công cụ

Thanh công cụ VBE, giống như thanh menu, tương tự như các thanh công cụ mà bạn có thể gặp khi sử dụng các loại phần mềm khác

Nói chính xác hơn, thanh công cụ chứa các mục như nút trên màn hình, biểu tượng, menu và các yếu tố tương tự. Thanh công cụ được hiển thị trong ảnh chụp màn hình ở trên là thanh công cụ tiêu chuẩn và mặc định của Visual Basic Editor. Theo giải thích của John Walkenbach trong Excel VBA Programming for Dummies, hầu hết mọi người (bao gồm cả bản thân Walkenbach) “cứ để nguyên như vậy”

Như đã giải thích ở trên, nếu bạn có phiên bản Excel mới hơn (bắt đầu từ năm 2007), bạn sẽ không thấy thanh công cụ cũng như thanh menu trên cửa sổ Excel vì Microsoft đã thay thế cả hai mục này bằng Dải băng

3. Mục số 3. Cửa sổ dự án (hoặc Project Explorer)

Cửa sổ dự án là một phần của VBE, nơi bạn có thể tìm thấy danh sách tất cả các sổ làm việc Excel đang mở và các phần bổ trợ được tải. Phần này hữu ích cho mục đích điều hướng

Như bạn có thể thấy trong hình bên dưới, Trình soạn thảo Visual Basic cho phép bạn mở rộng hoặc thu gọn các phần khác nhau của danh sách bằng cách nhấp vào dấu “+” hoặc “-” (tùy từng trường hợp) được hiển thị ở bên trái

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Khi “VBAProject” được mở rộng, nó sẽ hiển thị các thư mục khác nhau hiện đang được tải. Có thể có một số thư mục cho các loại mục khác nhau, chẳng hạn như trang tính, đối tượng, biểu mẫu và mô-đun. Tôi giải thích tất cả những thứ này là gì trong các hướng dẫn macro và VBA khác

Khi một thư mục được mở rộng, bạn có thể xem các thành phần riêng lẻ bên trong thư mục đó

Ví dụ ở hình trên có 2 thư mục (Microsoft Excel Objects and Modules) và thư mục Microsoft Excel Objects (được mở rộng) có 2 mục (Sheet1 và ThisWorkbook)

Nếu bạn không thấy Project Explorer, nó có thể bị ẩn

Để hiển thị Cửa sổ dự án, hãy sử dụng phím tắt “Ctrl + R”, nhấp vào biểu tượng Project Explorer trên thanh công cụ hoặc vào menu Xem và nhấp vào “Project Explorer”

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

4. Mục số 4. Cửa sổ thuộc tính

Cửa sổ Thuộc tính là phần của VBE mà bạn sử dụng để chỉnh sửa thuộc tính của bất kỳ thứ gì bạn có thể đã chọn trong Cửa sổ Dự án

Có thể ẩn hoặc bỏ ẩn Cửa sổ thuộc tính

Nếu Visual Basic Editor của bạn không hiển thị Cửa sổ Thuộc tính vào lúc này, hãy sử dụng phím tắt “F4”, nhấp vào biểu tượng Cửa sổ Thuộc tính trên thanh công cụ hoặc mở rộng menu Xem và nhấp vào “Cửa sổ Thuộc tính”

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

5. Mục số 5. Cửa sổ Lập trình (hoặc Mã)

Cửa sổ Lập trình là nơi mã VBA mà bạn ghi xuất hiện

Tôi giải thích cách bạn có thể sử dụng Trình soạn thảo Visual Basic để hiển thị mã macro của bạn trong phần tiếp theo

Ngoài việc hiển thị mã, Cửa sổ mã là nơi bạn thực sự có thể viết hoặc chỉnh sửa mã VBA

6. Mục số 6. Cửa sổ ngay lập tức

Cửa sổ ngay lập tức hữu ích cho mục đích nhận thấy lỗi, kiểm tra hoặc gỡ lỗi

Bạn có thể nhận thấy rằng, trong ảnh chụp màn hình đầu tiên của VBE mà tôi đã đưa vào ở trên, không có Cửa sổ ngay lập tức. Có hai lý do chính cho việc này

  • Cửa sổ này được mặc định ẩn
  • Như John Walkenbach đã giải thích trong Excel VBA Programming for Dummies, cửa sổ này không hữu ích cho người mới bắt đầu và do đó, có thể thích hợp hơn nếu giữ nó ẩn hoặc nếu hiện đang hiển thị, hãy ẩn nó đi.

Để bỏ ẩn Cửa sổ ngay lập tức, hãy sử dụng phím tắt “Ctrl + G”, hoặc truy cập menu Xem và nhấp vào “Cửa sổ ngay lập tức”

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Bây giờ bạn đã biết mình đang xem gì khi làm việc với Visual Basic Editor, hãy tiếp tục và tìm hiểu cách bạn có thể xem mã thực tế của macro mà bạn đã tạo…

Mã Macro VBA của bạn ở đâu

Phần của VBE mà bạn thường sử dụng cho mục đích điều hướng là Project Window. Hãy quay lại và xem kỹ ảnh chụp màn hình ở trên

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Trong ảnh chụp màn hình ở trên, “VBAProject” được mở rộng và hiển thị hai thư mục. Các đối tượng và mô-đun Microsoft Excel. Bạn có thể thấy các phần tử bên trong thư mục đầu tiên (Đối tượng Microsoft Excel) nhưng không thấy bên trong thư mục thứ hai (Mô-đun)

Để mở rộng thư mục Mô-đun và xem các thành phần của nó, hãy nhấp vào “+”

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Project Explorer trông đại khái như sau

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Các mục xuất hiện trong thư mục Đối tượng Microsoft Excel có thể trông quen thuộc. Tuy nhiên, bạn có thể thắc mắc…

Mô-đun là gì?

Theo cách nói của John Walkenbach trong Kinh thánh Excel 2013, một mô-đun là “một thùng chứa mã VBA”

Nói cách khác, một mô-đun là nơi mã VBA thực sự được lưu trữ. Nếu bạn đã làm theo ví dụ trong Hướng dẫn Macro Excel cho Người mới bắt đầu này, thì mã macro của bạn nằm trong một mô-đun, chính xác hơn là trong Mô-đun 1

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Để Visual Basic Editor hiển thị mã VBA, nhấp đúp chuột vào “Module1” hoặc nhấp chuột phải vào “Module1” và chọn “View Code”

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Và VBE hiển thị mã macro trong Cửa sổ lập trình. Nếu bạn đã làm theo ví dụ trong hướng dẫn dành cho người mới bắt đầu này và tạo macro Best_Excel_Tutorial, thì mã của bạn trông gần giống như sau

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Chuyện này có ý nghĩa gì với bạn không?

Tin tốt là, ở một mức độ nào đó, nó có thể có một chút ý nghĩa

Tuy nhiên, bạn có thể cảm thấy rằng mình không hiểu hết tất cả các hướng dẫn trong macro Excel mà bạn đã tạo

Bạn cũng có thể thắc mắc… tại sao một việc đơn giản như viết một số văn bản, tự động điều chỉnh cột, tô màu ô và thay đổi màu phông chữ lại yêu cầu lập trình nhiều như vậy?

Tất cả những cảm giác và câu hỏi này là bình thường

Chúng ta hãy xem xét kỹ hơn mã macro để hiểu tất cả những điều này

Học VBA từ đầu bằng ví dụ về mã macro Excel cơ bản

Tin tốt đầu tiên

Như bạn có thể nhận thấy, mã VBA (gần giống) với tiếng Anh. Trong VBA for Excel Made Simple, Keith Darlington (một giáo viên lập trình có kinh nghiệm) giải thích tiếng Anh có cấu trúc (tương tự như tiếng Anh thông thường) có thể là một bước trung gian hữu ích để suy nghĩ các hướng dẫn mà macro nên tuân theo trước khi thực sự viết các hướng dẫn đó trong Visual Basic

Do đó, bạn có thể hiểu một số từ và thậm chí có thể hiểu một số hướng dẫn ở trên. Ví dụ: bạn có thể nhận ra hoặc hiểu một phần các dòng sau từ macro Best_Excel_Tutorial được tạo trong hướng dẫn dành cho người mới bắt đầu này

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

  • Tế bào hoạt động. Lựa chọn

    Ô hiện hoạt là ô hiện đang được chọn trong trang tính. Tôi cho rằng, ngay cả khi bạn không quen thuộc với Excel hoặc Visual Basic for Applications, bạn cũng biết từ “chọn” nghĩa là gì

    Đúng vậy, như bạn có thể tưởng tượng, đoạn mã này chọn ô đang hoạt động hiện tại

  • Lựa chọn. Cột. tự động điều chỉnh

    Dòng mã này bắt đầu, một lần nữa, với một lựa chọn. Tuy nhiên, sau đó nó sẽ tham chiếu đến các cột và tự động điều chỉnh

    Nếu bạn còn nhớ, điều thứ hai mà macro Best_Excel_Tutorial phải làm là tự động điều chỉnh độ rộng cột của ô hiện hoạt sao cho văn bản được nhập (“Đây là hướng dẫn Excel tốt nhất”) vừa với một ô duy nhất

    Xem xét những điều trên, bạn có thể đã (đúng) nghĩ rằng mục đích của đoạn mã VBA này là tự động điều chỉnh cột có ô hiện hoạt để văn bản mà các loại macro vừa với một cột

Tuy nhiên, nếu bạn hiện đang tìm hiểu về macro Excel, bạn có thể muốn hiểu ý nghĩa của từng dòng mã, vì vậy hãy hiểu một số điều cơ bản về mã VBA

Khái niệm cơ bản về mã macro Excel

Để hiểu từng hướng dẫn đằng sau macro mà bạn đã ghi lại, hãy xem toàn bộ mã theo từng dòng và từng mục, đó là cách Excel thực thi macro

Đừng lo lắng nếu bây giờ bạn không hiểu từng dòng bên dưới

Mục đích của phần hướng dẫn này không phải là giúp bạn trở thành một chuyên gia về Visual Basic cho Ứng dụng mà là để cung cấp cho bạn ý tưởng cơ bản về cách thức hoạt động của VBA và quan trọng hơn là chỉ cho bạn các hướng dẫn mà Excel thực hiện theo thứ tự là gì

Bạn sẽ nhận thấy (không chỉ lúc này mà cả khi ghi macro) rằng mã VBA có thể bao gồm một số hành động mà bạn không thực sự thực hiện. Theo John Walkenbach, trong Kinh thánh Excel 2013, đây “chỉ là sản phẩm phụ của phương pháp mà Excel sử dụng để dịch các hành động thành mã. ”

Nói cách khác, hiện tại bạn không cần phải lo lắng về những dòng mã có vẻ như vô dụng. Tôi có thể giải thích, trong các hướng dẫn trong tương lai, cách bạn có thể xóa chúng

Cửa sổ Lập trình chứa mã của macro mà bạn đã tạo có các phần sau

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Mục 1. Phụ Best_Excel_Tutorial ()

Sub là viết tắt của thủ tục Sub. Đây là một trong hai loại macro hoặc thủ tục mà bạn có thể sử dụng trong Excel

Các thủ tục phụ thực hiện một số hành động hoặc hoạt động nhất định trong Excel

Loại thủ tục khác là thủ tục Hàm. Các thủ tục hàm được sử dụng để thực hiện các phép tính và trả về một giá trị

Vậy… dòng này làm gì?

Nó chỉ nói với Excel rằng bạn đang viết một thủ tục phụ mới

Các thủ tục con phải luôn bắt đầu bằng

  • Từ "phụ"
  • Tên của thủ tục, trong trường hợp này là Best_Excel_Tutorial
  • dấu ngoặc đơn

Ngoài ra, các thủ tục Phụ phải luôn kết thúc bằng từ “Kết thúc Phụ”, như bạn có thể thấy trong dòng mã cuối cùng được hiển thị trong ảnh chụp màn hình ở trên (được báo hiệu bằng số 8)

Mục số 2. Các dòng mã VBA bằng phông chữ màu xanh lá cây bắt đầu bằng '

Tôi đang đề cập đến các dòng sau

'
' Best_Excel_Tutorial Macro
' Types "This is the best Excel tutorial". Auto-fits column. Cell color red. Font color blue.
'
' Keyboard Shortcut: Ctrl+Shift+B
'

Đây đơn giản là những bình luận. Bình luận có các đặc điểm chính sau

  • Chúng bắt đầu (hoặc được biểu thị bằng) dấu nháy đơn (‘)
  • Về cơ bản, Visual Basic for Applications bỏ qua văn bản xuất hiện sau dấu nháy đơn cho đến cuối dòng. Do đó, khi thực thi macro, Excel chỉ cần bỏ qua các chú thích
  • Do điểm trước đó, mục đích chính của nhận xét là hiển thị thông tin về macro cụ thể đó và giúp bạn hiểu nó. Nhận xét có thể giải thích những thứ như mục đích của thủ tục hoặc những sửa đổi gần đây nhất đã được thực hiện đối với thủ tục là gì

Mục số 3. Tế bào hoạt động. Lựa chọn

Như đã giải thích ở trên, dòng này yêu cầu Excel chọn ô đang hoạt động hiện tại. chính xác hơn

  • “ActiveCell” tham chiếu đến ô đang hoạt động hiện tại trong cửa sổ đang hoạt động
  • “Chọn” kích hoạt một đối tượng trên trang tính Excel đang hoạt động, trong trường hợp này là ô đang hoạt động hiện tại mà ActiveCell đã tham chiếu đến

Mục số 4. Tế bào hoạt động. FormulaR1C1 = “Đây là hướng dẫn Excel tốt nhất”

Câu lệnh này hướng dẫn Excel viết “Đây là hướng dẫn Excel tốt nhất” trong ô hiện hoạt

Hãy kiểm tra từng phần riêng lẻ của dòng

  • Bạn đã biết mục đích của ActiveCell là gì
  • “FormulaR1C1” yêu cầu Excel đặt công thức cho đối tượng, trong trường hợp này là ô hiện hoạt mà ActiveCell tham chiếu tới. Phần cuối cùng (R1C1) tham chiếu đến ký hiệu R1C1 trong đó tham chiếu ô là tương đối thay vì tuyệt đối. Tôi giải thích ký hiệu R1C1 sâu hơn trong hướng dẫn này. Tuy nhiên, hãy nhớ rằng ở phần đầu của hướng dẫn này, tôi đã giải thích
    • Tại sao bạn nên bật tính năng ghi tham chiếu tương đối;
    • Làm như thế nào
  • “Đây là hướng dẫn Excel tốt nhất” nêu công thức (trong trường hợp này là văn bản) phải được đặt trong đối tượng, trong trường hợp này là ô hiện hoạt

Mục số 5. Lựa chọn. Cột. Tự động điều chỉnh

Như tôi đã giải thích ở trên, câu lệnh cụ thể này làm cho Excel tự động điều chỉnh cột của ô đang hoạt động sao cho văn bản mà macro đã nhập hoàn toàn khớp với cột đó

Sau đây là mục đích của các phần khác nhau của tuyên bố này

  • “Lựa chọn” chỉ đại diện cho lựa chọn hiện tại, trong trường hợp này là ô đang hoạt động
  • “Cột” chọn các cột trong vùng chọn, trong trường hợp này là cột chứa ô hiện hoạt
  • “AutoFit” là loại tự giải thích;

Mục số 6. Với…Kết thúc bằng câu lệnh 1

Tôi đề cập đến nhóm dòng sau đây, được gọi là câu lệnh With…End With

With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = 255
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With

Macro Excel mà bạn tạo đã thực hiện hai trong số bốn tác vụ mà nó phải thực hiện

  • Nó đã gõ “Đây là hướng dẫn Excel tốt nhất” trong ô hiện hoạt
  • Nó đã tự động điều chỉnh chiều rộng cột để văn bản mà nó đã nhập vừa vặn

Như bạn có thể mong đợi, hoạt động tiếp theo mà Excel thực hiện là tô màu đỏ cho ô đang hoạt động

Bạn có thể mong đợi rằng việc tô màu ô đang hoạt động là một bước đơn giản. Tuy nhiên, hóa ra Excel cần thực hiện rất nhiều bước để thực hiện hành động này

Đây là lý do tại sao câu lệnh With…End With tồn tại

Mục đích chính của câu lệnh With…End With là đơn giản hóa cú pháp bằng cách thực hiện một số lệnh mà tất cả đều tham chiếu đến cùng một đối tượng mà không cần phải tham chiếu đến đối tượng đó mỗi lần. Trong trường hợp ví dụ được sử dụng trong hướng dẫn dành cho người mới bắt đầu này, đối tượng này là ô hiện hoạt

Như bạn có thể thấy trong ảnh chụp màn hình bên dưới, macro cơ bản mà bạn đã ghi có hai câu lệnh With…End With

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Câu lệnh With…End With có cấu trúc như sau

  • Khi bắt đầu, họ phải nêu rõ “Với objectExpression”. Tôi khám phá, trong các hướng dẫn khác, "objectExpression" nghĩa là gì. Hiện tại, đủ để biết rằng trong trường hợp ví dụ có trong hướng dẫn này, “objectExpression” là “Selection. Nội thất” (đối với câu lệnh With…End With đầu tiên) và “Lựa chọn. Font” (cho câu lệnh With…End With thứ hai), như tôi giải thích bên dưới
  • Chúng có thể có một hoặc nhiều dòng mã, là các hướng dẫn được thực thi trên đối tượng mà tham chiếu đã được thực hiện
  • Cuối cùng, họ phải nói “End With”

Trong trường hợp của câu lệnh With…End With đầu tiên, mỗi đối tượng này trông như sau

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

Bây giờ bạn đã có hiểu biết cơ bản về chức năng của câu lệnh With…End With, chúng ta hãy xem từng dòng một

1. Dòng 1. Với lựa chọn. Nội địa

Dòng này cho Excel biết rằng nó phải luôn tham chiếu đến phần bên trong của ô hiện hoạt khi thực thi các câu lệnh là một phần của câu lệnh With…End With

Làm thế nào để nó đạt được điều này?

  • “With” là phần đầu của câu lệnh With…End With và thông báo cho Excel rằng các dòng mã tiếp theo tham chiếu (làm việc với) đối tượng được đề cập trong hàng này
  • “Lựa chọn. Interior” là “objectExpression” mà tôi đã đề cập ở trên khi giải thích cấu trúc của câu lệnh With…End With. “Lựa chọn” biểu thị lựa chọn hiện tại, trong ví dụ này là ô hiện hoạt, trong khi “Nội thất” biểu thị phần bên trong của một đối tượng, trong trường hợp này là phần bên trong của ô hiện hoạt

2. Dòng 2. . Hoa văn = xlSolid

Đây là dòng đầu tiên của câu lệnh With…End With tham chiếu đến phần bên trong của ô hiện hoạt

Nó yêu cầu Excel đặt mẫu bên trong của ô đang hoạt động thành một màu đồng nhất. Nó làm điều này như sau

  • “Mẫu” thiết lập mẫu nội thất
  • “xlSolid” chỉ định rằng mẫu phải là một màu đồng nhất

3. Dòng số 3. . PatternColor Index = xlAutomatic

Dòng này chỉ định mẫu tự động cho bên trong ô hiện hoạt như sau

  • “PatternColorIndex” đặt màu của mẫu bên trong
  • “xlAutomatic” chỉ định rằng màu phải là màu tự động

4. Dòng số 4. . Màu = 25

Đây là câu lệnh thực sự thông báo cho Excel màu mà nó sẽ sử dụng để tô vào phần bên trong của ô đang hoạt động

“Màu” chỉ định màu của ô, trong khi số (trong trường hợp này là 255) chỉ định màu, trong macro Best_Excel_Tutorial, là màu đỏ

5. Dòng số 5. . TintAndShade = 0

Dòng này ra lệnh cho Excel không làm sáng hoặc làm tối màu đã được chọn để điền vào ô đang hoạt động

“TintAndShade” đặt độ sáng hoặc tối của màu. Khi TintAndShade được đặt bằng 0 (như trong trường hợp này), thuộc tính được cố định thành trung tính và do đó, không có sự sáng hoặc tối của màu được chọn cho ô hiện hoạt

6. Dòng số 6. . MẫuTintAndShade = 0

Như bạn có thể tưởng tượng, dòng này truyền đạt tới Excel rằng nó sẽ không đặt mẫu màu sắc cũng như bóng râm cho phần bên trong của ô đang hoạt động

“PatternTintAndShade” đặt mẫu màu và bóng cho bên trong đối tượng, trong trường hợp này là ô được chọn

7. Dòng số 7. Kết thúc với

Dòng này báo hiệu cho Excel phần cuối của câu lệnh With…End With

Do đó, các dòng mã tiếp theo tham chiếu đến một đối tượng khác với đối tượng mà câu lệnh With…End With này đã làm

Trong trường hợp ví dụ được sử dụng trong Hướng dẫn Macro Excel cho Người mới bắt đầu này, phần cuối của câu lệnh With…End With đầu tiên cho biết rằng các câu lệnh tiếp theo không tham chiếu đến phần bên trong của ô hiện hoạt

Mục số 7. With…End With Statement 2

Ở trên, bạn đã học được câu lệnh With…End With là gì và cấu trúc chung của nó là gì

Do đó, tôi đi thẳng vào phần giải thích từng dòng một của câu lệnh With…End With thứ hai của macro, như bạn có thể mong đợi, thực hiện hướng dẫn cuối cùng mà bạn đã đưa ra khi tạo nó. thay đổi màu phông chữ của ô đang hoạt động thành màu xanh lam

Bạn có thể sẽ rất vui khi đọc rằng câu lệnh With…End With thứ hai này ngắn hơn câu lệnh đầu tiên

Hãy bắt đầu giải thích từng dòng một…

1. Dòng 1. Với lựa chọn. Nét chữ

Như tôi đã giải thích ở trên, đây là phần mở đầu của câu lệnh With…End With, trong đó “With” cho Excel biết rằng các câu lệnh sau hoạt động với đối tượng xuất hiện ở đây

Trong trường hợp này, đối tượng này là Lựa chọn. Nét chữ

Vậy “Tuyển chọn” là gì. Nét chữ. ”?

“Lựa chọn” là lựa chọn hiện tại, trong macro Best_Excel_Tutorial là ô hiện hoạt, trong khi “Phông chữ” là (không ngạc nhiên) phông chữ

Nói cách khác, Lựa chọn. Phông chữ có nghĩa là phông chữ của văn bản trong ô hiện hoạt. Vì vậy, “Với sự lựa chọn. Phông chữ” về cơ bản là thông báo cho Excel rằng tất cả các dòng mã là một phần của câu lệnh With…End With đều tham chiếu đến phông chữ của ô đang hoạt động

2. Dòng 2. . Màu = -4165632

Dòng mã này, như bạn có thể mong đợi khi xem xét dòng rất giống trong câu lệnh With…End With đầu tiên ở trên, cho Excel biết màu nào sẽ được sử dụng cho phông chữ trong ô hiện hoạt

“Màu” chỉ định màu, trong khi số (trong trường hợp này -4165632) là mã màu thực tế, trong trường hợp này là màu xanh lam

3. Dòng số 3. . TintAndShade = 0

Câu lệnh này hoàn toàn giống với một trong các dòng trong câu lệnh With…End With ở trên. Nó hướng dẫn Excel không làm sáng hoặc tối màu của phông chữ

Vì “TintAndShade” xác định độ sáng hoặc tối của một màu, nên khi nó bằng 0 (như ở đây), Excel sẽ không làm sáng hoặc làm tối màu phông chữ của ô hiện hoạt

4. Dòng số 4. Kết thúc với

Đây là phần cuối của câu lệnh With…End With

Do đó, bất kỳ dòng mã nào bên dưới dòng này không tham chiếu đến phông chữ của ô hiện hoạt

Mục số 8. kết thúc phụ

Các câu lệnh kết thúc chấm dứt việc thực thi một cái gì đó, trong trường hợp này là một thủ tục phụ

Điều này có nghĩa là khi Excel thực thi dòng mã này, macro mà bạn đã tạo sẽ ngừng chạy

Nói cách khác, đây là phần cuối của mã macro Excel đầu tiên của bạn

Một vài lời khuyên cuối cùng về cách tìm hiểu về macro Excel

Nếu bạn muốn đi xa hơn với mục đích tăng tốc quá trình tìm hiểu về macro Excel, tôi cung cấp một số mẹo cuối cùng bên dưới. Bạn có thể thử hầu hết chúng trong sổ làm việc Excel mẫu đi kèm với Hướng dẫn Macro Excel cho Người mới bắt đầu này. Bạn có thể truy cập miễn phí ngay lập tức vào sổ làm việc mẫu này bằng cách nhấp vào nút bên dưới

Làm thế nào để viết một macro trong Excel?
Làm thế nào để viết một macro trong Excel?

  • Thay đổi các phần của mã VBA để thử những điều mới

    Ví dụ: thay đổi “ActiveCell. FormulaR1C1 = “Đây là hướng dẫn Excel tốt nhất”” cho “ActiveCell. FormulaR1C1 = “Tôi yêu Microsoft Excel””

    Làm thế nào để viết một macro trong Excel?
    Làm thế nào để viết một macro trong Excel?

    Bạn cũng có thể thay đổi các số chỉ định cách sắp xếp ô và màu phông chữ. Ví dụ: thay đổi “. Màu = 255” cho “. Màu = 10” và “. Màu = –4165632” cho “. Màu = 200”

    Làm thế nào để viết một macro trong Excel?
    Làm thế nào để viết một macro trong Excel?

    Quay lại cửa sổ Excel chính và chạy lại macro (ví dụ: bằng cách sử dụng phím tắt “Ctrl + Shift + B” mà bạn đã chỉ định) và xem điều gì sẽ xảy ra

    Kết quả thay đổi đáng kể, phải không?

  • Xóa các câu lệnh nhất định khỏi mã để xem chúng ảnh hưởng đến macro như thế nào

    Ví dụ: bạn nghĩ điều gì sẽ xảy ra nếu bạn xóa “Lựa chọn. Cột. Tự động điều chỉnh”?

    Làm thế nào để viết một macro trong Excel?
    Làm thế nào để viết một macro trong Excel?

    dùng thử

    Quay lại Excel một lần nữa và chạy macro một lần nữa với thao tác xóa này

    Chuyện gì đã xảy ra thế?

  • Một trong những cách tốt nhất để học mã macro Excel là lặp lại bài tập có trong hướng dẫn này, vì vậy tôi khuyến khích bạn làm điều đó

    Làm sao?

    1. Ghi lại các macro Excel khác với ví dụ xuất hiện trong Hướng dẫn Macro Excel dành cho người mới bắt đầu này. Hãy thử những điều mới và xem điều gì sẽ xảy ra

    2. Mở VBE và xem từng dòng mã VBA để hiểu mục đích của từng câu lệnh là gì

    Có lẽ tốt hơn nữa, nếu bạn có một màn hình đủ lớn (hoặc hai màn hình), hãy làm theo lời khuyên của John Walkenbach trong Kinh thánh Excel 2013 và…

    (…) hãy thiết lập màn hình của bạn để bạn có thể thấy mã đang được tạo trong cửa sổ Trình soạn thảo VB

  • Đọc và học. Ví dụ, bạn có thể xem qua Archives of Power Spreadsheets để tìm tất cả các hướng dẫn Excel mà tôi đã viết về VBA và macro

Phần kết luận

Một lần nữa xin chúc mừng

Sau khi xem qua Hướng dẫn Macro Excel dành cho Người mới bắt đầu này, bạn đã tạo macro đầu tiên của mình và hiểu mã VBA đằng sau nó

Như bạn có thể đã thấy, việc thiết lập macro bằng trình ghi của Excel tương đối đơn giản và có thể được thực hiện trong bảy bước đơn giản. Nếu mục đích chính của bạn chỉ đơn giản là ghi và phát macro Excel, thì bạn đã sẵn sàng

Nếu mục đích của bạn là trở thành một chuyên gia macro, tôi hy vọng hướng dẫn cơ bản này đã cung cấp cho bạn ý tưởng hay về cách ghi macro Excel và giới thiệu cơ bản về lập trình VBA. Hơn nữa, tôi hy vọng rằng Hướng dẫn Macro Excel dành cho người mới bắt đầu này sẽ giúp bạn tự tin hơn về khả năng lập trình Excel của mình

Thực hành các mẹo cuối cùng về cách tìm hiểu về macro mà tôi đã cung cấp trong phần trên. Tạo macro, nghiên cứu mã VBA đằng sau chúng và thử những cách khác nhau để xem điều gì sẽ xảy ra

Nếu bạn tiếp tục nghiên cứu và thực hành Visual Basic for Applications, bao gồm các chủ đề mà tôi trình bày trong các hướng dẫn VBA Excel khác trong Power Spreadsheets, thì bạn sẽ sớm có thể, trong số những chủ đề khác.

Làm cách nào để tạo macro trong Excel?

Chạy macro từ tab Nhà phát triển .
Mở sổ làm việc có chứa macro
Trên tab Nhà phát triển, trong nhóm Mã, bấm vào Macro
Trong hộp Tên macro, hãy bấm vào macro mà bạn muốn chạy, rồi nhấn nút Chạy
Bạn cũng có những sự lựa chọn khác. Tùy chọn - Thêm phím tắt hoặc mô tả macro

Ví dụ về macro trong Excel là gì?

Macro trong excel là một chuỗi hướng dẫn dưới dạng mã giúp tự động hóa các tác vụ thủ công, nhờ đó tiết kiệm thời gian. Excel thực hiện các hướng dẫn đó theo cách từng bước trên dữ liệu đã cho. Ví dụ: có thể sử dụng tính năng này để tự động hóa các tác vụ lặp đi lặp lại như tính tổng, định dạng ô, sao chép thông tin , v.v.