Bổ trợ Excel

Phần bổ trợ Excel là một tệp (thường có phần mở rộng .xla hoặc .xlam) mà Excel có thể tải khi khởi động. Tệp chứa mã VBA bổ sung chức năng bổ sung cho Excel, thường ở dạng các hàm mới.

Phần bổ trợ cung cấp một cách tuyệt vời để tăng sức mạnh của Excel và chúng là phương tiện lý tưởng để phân phối các chức năng tùy chỉnh của bạn. Excel được cung cấp với nhiều loại Bổ trợ sẵn sàng để bạn tải và bắt đầu sử dụng, đồng thời nhiều Bổ trợ của bên thứ ba cũng có sẵn.

Bài viết này hướng dẫn bạn cách viết một hàm tùy chỉnh bằng Excel VBA cũng như cách lưu và cài đặt nó dưới dạng Phần bổ trợ. Các chức năng tùy chỉnh thường được gọi là UDF (Các chức năng do người dùng xác định).

Viết hàm do người dùng xác định

Một Phần bổ trợ có thể chứa nhiều UDF (Chức năng do Người dùng Xác định) như bạn muốn và gần đây bạn có thể thêm nhiều UDF, chỉ bằng cách mở và chỉnh sửa tệp Phần bổ trợ.

Bước 1: Thêm mô-đun mã vào sổ làm việc mới

  1. Khởi động Excel hoặc, nếu bạn đã mở Excel, hãy tạo một sổ làm việc trống mới.

  2. Mở Trình soạn thảo Visual Basic từ tab Nhà phát triển, Chuyển đến tab Nhà phát triển.

  3. Bấm vào Visual Basic (Phím: ALT + F11), nó sẽ mở Visual Basic Editor.

  4. Trong Visual Basic Editor, chọn VBAProject trong bảng Project Explorer. Thao tác này sẽ chọn sổ làm việc trống.

Nếu Project Explorer không hiển thị, hãy mở nó bằng cách đi tới View> Project Explorer.

  1. Từ menu Chèn, chọn Mô-đun. Điều này thêm một mô-đun mã trống mới vào sổ làm việc đã chọn. Bạn cũng sẽ thấy mô-đun xuất hiện trong bảng Project Explorer.

ArrowAddingModule

Bước 2: Nhập mã của hàm do người dùng xác định

Trong cửa sổ mã, nhập mã của Chức năng do Người dùng Xác định Độ tuổi

ArrowAddingUDFCode

Bước 3: Kiểm tra chức năng

Bạn có thể thử chức năng ngay. Chuyển sang Excel và trong sổ làm việc trống của bạn (giống sổ mà bạn đang sử dụng để tạo mô-đun mã của hàm), hãy nhập ngày vào một ô. Trong một ô khác, nhập hàm của bạn theo cách giống như cách bạn sử dụng một trong các hàm tích hợp sẵn của Excel, ví dụ: = Tuổi (A1)

ArrowTestingFunction

Một UDF khả dụng cho tất cả các sổ làm việc đang mở bất cứ khi nào sổ làm việc chủ của nó (sổ làm việc chứa mô-đun mã của UDF) được mở. Tuy nhiên, nếu bạn đóng sổ làm việc lưu trữ và cố gắng sử dụng chức năng trong một sổ làm việc khác thì bạn sẽ gặp lỗi. Sổ làm việc khác không thể tìm thấy hàm nên lỗi #NAME? lỗi xuất hiện.

Để khắc phục lỗi gặp phải, người ta nên khai báo UDF bên trong Excel Add-In và gán một Excel Add-In cho ứng dụng Excel.

Tạo một bổ trợ Excel

Lưu sổ làm việc dưới dạng Phần bổ trợ

Sổ làm việc chứa mô-đun mã của bạn bây giờ phải được lưu dưới dạng tệp Bổ trợ Excel (.xla hoặc .xlam).

Trong cửa sổ Excel, đi tới Tệp> Lưu để mở hộp thoại Lưu dưới dạng. Nhập tên cho tệp Phần bổ trợ của bạn (áp dụng quy tắc đặt tên tệp thông thường) và sử dụng tùy chọn Lưu dưới dạng: để thay đổi loại tệp thành Phần bổ trợ Microsoft Excel (.xla) hoặc (.xlam).

Trước khi nhấp vào [OK], hãy kiểm tra vị trí bạn đang lưu tệp Bổ trợ.

Cuối cùng nhấp vào [OK] để chấp nhận các thay đổi của bạn. Phần bổ trợ của bạn hiện đã sẵn sàng để cài đặt và có thể được phân phối cho những người dùng khác nếu được yêu cầu.

ArrowSavingAddin

Cài đặt phần bổ trợ

Đi tới Công cụ> Phần bổ trợ để mở hộp thoại Phần bổ trợ. Nếu bạn đã lưu trữ Phần bổ trợ của mình ở vị trí mặc định, bạn sẽ thấy tên của nó được hiển thị trong cửa sổ Phần bổ trợ sẵn có: (nếu bạn đã lưu Phần bổ trợ của mình trong một thư mục khác, hãy sử dụng nút [Duyệt] để tìm phần bổ trợ đó ).

Để cài đặt Phần bổ trợ của bạn, hãy đánh dấu vào hộp kiểm bên cạnh tên Phần bổ trợ của bạn và nhấp vào [OK].

ArrowInstallingAddin

Ngay sau khi Phần bổ trợ được cài đặt, các chức năng của nó sẽ khả dụng trong Excel. Tìm chúng trong phần Người dùng xác định của Trình hướng dẫn chức năng (Công cụ dán chức năng) hoặc chỉ cần nhập chúng vào một ô như bạn làm với bất kỳ hàm tích hợp nào. Phần bổ trợ sẽ vẫn được cài đặt cho đến khi bạn quay lại hộp thoại Phần bổ trợ và gỡ cài đặt bằng cách bỏ dấu tích khỏi hộp kiểm.

Thêm UDF và các thay đổi cho một bổ trợ

Tệp bổ trợ của bạn có thể chứa nhiều mô-đun và chức năng tùy chỉnh như bạn muốn. Bạn có thể thêm chúng bất cứ lúc nào.

Nếu Add-In của bạn được cài đặt, bạn sẽ thấy nó được liệt kê trong bảng Project Explorer của trình soạn thảo VB. Xác định vị trí mô-đun chứa các chức năng của bạn và thực hiện bất kỳ bổ sung và thay đổi nào bạn muốn. Nếu Phần bổ trợ của bạn chưa được cài đặt, hãy tìm tệp Phần bổ trợ và bấm đúp vào nó để mở trong Excel. Bạn sẽ không thể thấy nó trong cửa sổ Excel nhưng nó sẽ xuất hiện trong Trình khám phá dự án của trình soạn thảo VB.

Hãy nhớ lưu các thay đổi của bạn! Thực hiện việc này từ cửa sổ soạn thảo VB với Tệp> Lưu.

Vui lòng theo dõi bên dưới để biết mã

'Insert below code in Addin

Option Explicit



Function Age(DoB As Date)

'Gives a name to the function and declares that a single argument is needed, which must be a date.

'Checking whether Date of Birth is zero

If DoB = 0 Then

Age = "type the correct Date of Birth"

Else

'If Date of Birth is not zero, compare the current month value with the Date of Birth

Select Case Month(Date)

'If current month is before (i.e. less than) the month of date of birth,

'then they have not had their birthday, so their age is this year minus their birth year minus 1

Case Is < Month(DoB)

Age = (Year(Date) - Year(DoB)) - 1

'If current month is same as the month of date of birth

'we need to know whether or not they have had their birthday yet

Case Is = Month(DoB)

'If today date is equal to or past the day of their birthday,

'then they have had their birthday (or it is today)

'so their age is this year minus their birth year?

'otherwise their age is this year minus their birth year minus 1

If Day(Date) >= Day(DoB) Then

Age = Year(Date) - Year(DoB)

Else

Age = Year(Date) - Year(DoB) - 1

End If

'If today?s month is after (i.e. greater than) the month of the person?s date of birth,

'they have had their birthday, so their age is this year minus their birth year.

Case Is > Month(DoB)

Age = Year(Date) - Year(DoB)

'Close the CASE statement

End Select

'Close the IF statement

End If



'Close the Function

End Function

Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]