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

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

 

Excel Visual Basic for Application (VBA) là một ngôn ngữ lập trình mạnh mẽ. VBA cho phép bạn tự động hóa các tác vụ, tạo các hàm tùy chỉnh và nâng cao chức năng của bảng tính. Nếu bạn đang bắt đầu với VBA, việc hiểu các thuật ngữ chính như Macro, Mô-đun và Quy trình là điều cần thiết. Các khái niệm này được kết nối với nhau nhưng phục vụ các mục đích khác nhau.

Trong hướng dẫn này, chúng ta sẽ thảo luận về thuật ngữ VBA của Excel:Macro, Mô-đun và Quy trình. Chúng tôi sẽ chia nhỏ chúng bằng cách giải thích, ví dụ và mẹo thiết thực để giúp bạn bắt đầu.

Để làm theo, bạn sẽ cần Excel (bất kỳ phiên bản nào từ năm 2007 trở đi) đã bật tab Nhà phát triển.

  • Nếu nó không hiển thị, hãy đi tới Tệp tab>> chọn Tùy chọn>> chọn Tùy chỉnh Ribbon>> chọn Nhà phát triển ở bên phải

1. Macro là gì?

Macro là điểm vào VBA thân thiện với người dùng nhất. Về cơ bản, đây là một bộ hướng dẫn được ghi lại hoặc viết ra để tự động hóa các tác vụ lặp đi lặp lại trong Excel. Macro có thể được tạo mà không cần kiến ​​thức lập trình sâu bằng cách sử dụng Trình ghi Macro của Excel. Nó ghi lại các hành động của bạn, như định dạng ô hoặc chèn công thức và chuyển đổi chúng thành mã VBA.

Về mặt thực tế, khi mọi người nói “Tôi đã ghi macro” hoặc “Tôi đã viết macro”, họ thường nói về một thủ tục phụ được lưu trữ trong một mô-đun. Trình ghi macro của Excel tự động tạo các thủ tục phụ.

Đặc điểm chính:

  • Mục đích: Tự động hóa các nhiệm vụ để tiết kiệm thời gian. Ví dụ:macro có thể sắp xếp dữ liệu, áp dụng bộ lọc hoặc tạo báo cáo chỉ bằng một cú nhấp chuột.
  • Cách tạo:
    • Đã ghi: Sử dụng Trình ghi macro cho các tác vụ đơn giản.
    • Đã viết: Chỉnh sửa hoặc viết mã theo cách thủ công trong trình soạn thảo VBA để có logic phức tạp hơn.
  • Phạm vi: Macro thường được lưu trữ trong sổ làm việc và có thể chạy từ các nút, phím tắt hoặc hộp thoại Macro.
  • Hạn chế: Các macro được ghi thường bao gồm mã không cần thiết (ví dụ:chọn ô) và các tham chiếu ô có thể trông phức tạp nên chúng thường được dọn sạch theo cách thủ công.

Macro ≠ VBA: VBA là một ngôn ngữ lập trình. Macro là tự động hóa có thể chạy được được xây dựng bằng VBA (hoặc được ghi vào VBA).

Ví dụ:Tạo và chạy Macro đơn giản

  • Đi tới Nhà phát triển tab>> chọn Ghi macro
  • Đặt tên là ApplyFormat (không có dấu cách)>> gán phím tắt nếu muốn>> nhấp vào OK

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

  • Thực hiện các hành động:
    • Chọn tiêu đề
    • Truy cập Trang chủ tab>> chọn Đậm
    • Áp dụng Điền màu sắc và Phông chữ màu sắc
  • Dừng ghi:Đi tới Nhà phát triển tab>> nhấp vào Dừng ghi

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

Đằng sau hậu trường, Excel tạo mã VBA như thế này:

Sub ApplyFormat()
'
' ApplyFormat Macro
'
' Keyboard Shortcut: Ctrl+Shift+F
'
 Range("A1:G1").Select
 Selection.Font.Bold = True
 With Selection.Interior
 .Pattern = xlSolid
 .PatternColorIndex = xlAutomatic
 .ThemeColor = xlThemeColorAccent6
 .TintAndShade = -0.249977111117893
 .PatternTintAndShade = 0
 End With
 With Selection.Font
 .ThemeColor = xlThemeColorDark1
 .TintAndShade = 0
 End With
End Sub
  • Đây là Sub (viết tắt của Subroutine), là một loại thủ tục

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

Chạy macro:

  • Đi tới Nhà phát triển tab>> chọn Macro
  • Chọn ApplyFormat>> chọn Chạy
  • Hoặc nhấn Ctrl+Shift+F

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

Giờ đây, bạn có thể tạo và sử dụng macro để tự động hóa nhanh chóng mà không cần phải có chuyên môn về mã hóa.

2. Thủ tục là gì?

Thủ tục là đơn vị cơ bản nhất; nó là một khối mã VBA thực hiện một tác vụ cụ thể. Hãy coi nó như một tập hợp các hướng dẫn mà Excel tuân theo khi bạn chạy nó. Các thủ tục là nơi logic thực tế tồn tại; hãy coi chúng như các hàm hoặc phương thức trong các ngôn ngữ khác.

Đặc điểm chính:

  • Các loại:
    • Thủ tục phụ (Sub): Thực hiện các hành động nhưng không trả về giá trị. Đây là điều mà hầu hết mọi người gọi là “macro” trong ngữ cảnh VBA. Nó bắt đầu bằng Sub và kết thúc bằng End Sub.
    • Thủ tục chức năng (Chức năng): Thực hiện các phép tính và trả về một giá trị. Nó bắt đầu bằng Hàm và kết thúc bằng Hàm Kết thúc. Hữu ích cho các công thức tùy chỉnh trong trang tính.
  • Mục đích: Tạo mã có thể tái sử dụng. Các quy trình có thể bao gồm vòng lặp, điều kiện, biến và tương tác với các đối tượng Excel (như ô hoặc biểu đồ).
  • Phạm vi: Có thể ở chế độ công khai (có thể truy cập từ mọi nơi) hoặc riêng tư (giới hạn trong mô-đun).
  • Thông số: Có thể chấp nhận đầu vào (đối số) để linh hoạt.

Ví dụ:Thủ tục phụ và Thủ tục chức năng

  • Đi tới Nhà phát triển tab>> chọn Visual Basic (hoặc nhấn Alt+F11 )
  • Nhấp vào Chèn>> chọn Mô-đun

Thủ tục phụ (như Macro):

Sub ClearFormatting()
 Range("A1:G1").ClearFormats
 MsgBox "Formatting is cleared"
End Sub
  • Chạy mã để xóa định dạng, sau đó hiển thị thông báo cho biết “Đã xóa định dạng”

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

Thủ tục chức năng:

Function Multiply(num1 As Integer, num2 As Integer) As Integer
 Multiply = num1 * num2
End Function
  • Sử dụng nó trong một ô như =Multiply(E2,F2) để nhân các giá trị

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

Mối quan hệ với macro: Tất cả các macro đều là thủ tục phụ, nhưng không phải tất cả thủ tục phụ đều là macro được ghi. Bạn có thể viết các thủ tục phụ nâng cao vượt xa các bản ghi đơn giản.

Sử dụng các thủ tục khi bạn cần mã có cấu trúc và có thể tái sử dụng. Chia các nhiệm vụ phức tạp thành nhiều quy trình để tổ chức tốt hơn.

3. Mô-đun là gì?

Mô-đun là nơi chúng ta lưu trữ một hoặc nhiều thủ tục. Đó là một tệp trong trình soạn thảo VBA nơi bạn viết và sắp xếp mã VBA của mình. Nó giống như một thư mục sắp xếp mã của bạn, giúp quản lý và sử dụng lại dễ dàng hơn.

Các loại mô-đun:

  • Mô-đun chuẩn: Loại phổ biến nhất, nơi bạn viết mã có mục đích chung.
    • Những thứ này xuất hiện trong VBA Project Explorer của bạn dưới dạng “Module1”, “Module2”, v.v.
    • Mở trình soạn thảo VBA>> nhấp vào Chèn>> chọn Mô-đun .
  • Mô-đun sổ làm việc (ThisWorkbook): Giữ mã gắn liền với các sự kiện của sổ làm việc (mở, trước khi đóng, v.v.).
    • Thủ tục sự kiện phản hồi các hành động như mở hoặc đóng sổ làm việc
  • Mô-đun trang tính (Trang tính 1, Trang tính 2, v.v.): Đây là các mô-đun đặc biệt được gắn vào các trang cụ thể.
    • Chúng chứa các thủ tục sự kiện phản hồi các hành động như nhấp vào trang tính và mã chạy khi trang tính thay đổi.
  • Mô-đun lớp học: Các mô-đun này là các mô-đun nâng cao được sử dụng để tạo các đối tượng tùy chỉnh nhưng bạn sẽ không cần chúng khi bắt đầu. Điều này được sử dụng để lập trình hướng đối tượng, như tạo các lớp tùy chỉnh.
  • Mô-đun biểu mẫu người dùng: Để thiết kế hộp thoại tùy chỉnh.

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

Ví dụ:Làm việc với mô-đun

  • Đi tới Nhà phát triển tab>> chọn Visual Basic (hoặc nhấn Alt+F11 )
  • Trong Project Explorer (khung bên trái),
    • Nhấp chuột phải vào sổ làm việc của bạn>> nhấp vào Chèn>> chọn Mô-đun

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

  • Sao chép-dán thủ tục vào đó:
Sub FormatSalesReport()
 Dim ws As Worksheet
 Set ws = ActiveSheet
 Dim lastRow As Long
 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
 ws.Range("A1:H1").Font.Bold = True
 ws.Range("A1:H" & lastRow).Borders.LineStyle = xlContinuous
 Dim i As Long
 For i = 2 To lastRow
 If ws.Cells(i, "H").Value > 100 Then ws.Cells(i, "H").Interior.Color = RGB(0, 255, 0)
 Next i
End Sub
  • Mã VBA này định dạng dữ liệu và đánh dấu các giá trị lớn hơn 100 trong cột H
  • Lưu sổ làm việc
  • Bây giờ, quy trình này có sẵn dưới dạng macro
  • Nhấn F5 hoặc nhấp vào Chạy

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

Mối quan hệ với Macro và thủ tục:

  • Mô-đun giữ thủ tục
  • Macro là Thủ tục phụ được lưu trữ trong các mô-đun
  • Macro không có mô-đun? Không thể thực hiện được vì tất cả mã VBA đều nằm trong một số loại mô-đun.

Khi nào nên sử dụng: Đối với bất kỳ dự án VBA nào. Bắt đầu với một mô-đun cho các nhiệm vụ nhỏ; sử dụng nhiều cho những cái lớn hơn để tránh lộn xộn.

Chúng khớp với nhau như thế nào:Macro → Quy trình → Mô-đun

Macro là thuật ngữ hướng tới người dùng cho quy trình phụ. Thủ tục là các khối mã. Nhóm module thủ tục cho tổ chức.

Ví dụ về quy trình làm việc:

  • Ghi macro → Nó tạo thủ tục phụ trong mô-đun mới (thường là “Mô-đun 1”)
  • Chỉnh sửa quy trình để tinh chỉnh nó
  • Thêm các quy trình khác vào cùng một mô-đun hoặc tạo các mô-đun mới

Master Excel VBA:Tìm hiểu macro, mô-đun và quy trình

Các mẹo và phương pháp hay nhất

  • Quy ước đặt tên: Sử dụng tên mô tả như Sub CalculateTotalSales() thay vì Sub Macro1(). Tránh khoảng trống; sử dụng CamelCase.
  • Xử lý lỗi: Thêm Khi có lỗi Tiếp tục tiếp theo hoặc Khi có lỗi GoTo ErrorHandler trong các thủ tục để làm cho chúng mạnh mẽ hơn.
  • Bảo mật :Macro có thể chạy mã, vì vậy chỉ bật chúng từ các nguồn đáng tin cậy (Tệp> > Tùy chọn>> Trung tâm tin cậy>> Cài đặt macro ).
  • Gỡ lỗi: Sử dụng F8 để xem qua mã trong trình soạn thảo VBA.
  • Mẹo nâng cao: Xuất mô-đun (tệp .bas) để sử dụng lại mã trên sổ làm việc.
  • Những cạm bẫy thường gặp: Đừng nhầm lẫn macro Excel với Tập lệnh Office (dựa trên JavaScript trong các phiên bản Excel mới hơn). VBA mạnh mẽ hơn cho việc tự động hóa máy tính để bàn.

Kết luận

Bằng cách làm theo hướng dẫn này, bạn có thể hiểu thuật ngữ VBA của Excel:Macro, Mô-đun và Quy trình. Hiểu rõ các thuật ngữ này sẽ giúp bạn sử dụng VBA hiệu quả. Nó sẽ giúp bạn điều hướng tài liệu VBA, giao tiếp với những người dùng Excel khác và sắp xếp mã của bạn hiệu quả hơn. Bắt đầu bằng cách ghi lại macro để xem quy trình đang hoạt động, sau đó sắp xếp chúng thành các mô-đun khi dự án của bạn phát triển. Hãy thực hành bằng cách tự động hóa một tác vụ đơn giản trong bảng tính của riêng bạn và bạn sẽ nhanh chóng thấy được sức mạnh của VBA.

Nhận MIỄN PHÍ Bài tập Excel nâng cao có Giải pháp!