Max, như tên cho thấy, được sử dụng để tìm ra giá trị lớn nhất từ một tập dữ liệu nhất định hoặc một mảng, đây là một hàm trang tính nên nó được sử dụng với phương thức trang tính như là hàm trang tính, có một giới hạn đối với phương pháp này như sau hàm nhận một mảng làm đối số chỉ có thể có 30 giá trị trong mảng.
Hàm Max VBA trong Excel
Chúng tôi có một số hàm số trong excel. Chúng ta có thể đếm các giá trị số trong phạm vi, chúng ta có thể tính tổng, và chúng ta có thể tìm giá trị nhỏ nhất cũng như giá trị lớn nhất của lô. Để tìm giá trị lớn nhất của lô, chúng ta có một hàm excel gọi là MAX, hàm này sẽ trả về giá trị lớn nhất của dãy số được cung cấp. Trong VBA, chúng tôi không có bất kỳ hàm tích hợp nào được gọi là “MAX” để lấy số lượng tối đa. Chúng ta sẽ xem cách sử dụng Hàm Max VBA trong Excel này.

Ví dụ về hàm tối đa trong Excel VBA
Thật không may, chúng ta không có điều kiện sử dụng MAX làm hàm tích hợp sẵn trong VBA, nhưng chúng ta có thể truy cập hàm này như một phần của lớp Hàm Worksheet.
Bây giờ, hãy xem đoạn mã dưới đây.
Mã:
Sub MAX_Example1 () Dim a As Integer Dim b As Integer Dim c As Integer Dim Kết quả As Integer a = 50 b = 25 c = 60 Result = WorksheetFunction.Max (a, b, c) MsgBox Result End Sub

Trong ví dụ trên, tôi đã khai báo ba biến để lưu trữ số.
Dim a As Integer Dim b As Integer Dim c As Integer
Tôi đã khai báo thêm một biến để hiển thị kết quả.
Làm mờ kết quả dưới dạng số nguyên.
Đối với 3 ba biến đầu tiên, tôi đã gán giá trị tương ứng là 50, 25 và 60.
a = 50 b = 25 c = 60
Trong dòng tiếp theo, tôi đã áp dụng MAX dưới dạng một lớp hàm trang tính VBA để lưu trữ kết quả vào biến “Kết quả”.
Kết quả = WorksheetFunction.Max (a, b, c)
Vì vậy, cuối cùng, tôi đang hiển thị giá trị trong hộp thông báo trong VBA. Kết quả MsgBox
Bây giờ tôi sẽ chạy mã này bằng cách sử dụng F5 hoặc thủ công và xem kết quả là gì trong hộp thông báo.

Vì vậy, kết quả là 60.
Từ tất cả các số được cung cấp, tức là 50, 25 và 60, số lượng tối đa là 60.
Ví dụ nâng cao về Max trong Excel VBA
Các vòng lặp rất quan trọng trong VBA để chạy qua tất cả các ô và đi đến kết quả. Chúng ta sẽ xem cách kết hợp VBA MAX với các vòng lặp để đạt được giá trị lớn nhất từ danh sách các số.
Tôi có một danh sách các mặt hàng và hiệu suất bán hàng hàng tháng của các mặt hàng đó, như hình dưới đây.

Bây giờ đối với mỗi mặt hàng, tôi muốn biết số lượng bán tối đa là bao nhiêu trong 4 tháng, như trong hình.
Bằng cách áp dụng MAX cho excel, chúng tôi có thể tìm thấy điều này trong vài giây.

Bây giờ chúng ta sẽ xem cách tìm giá trị lớn nhất bằng cách sử dụng mã VBA.
Đoạn mã dưới đây sẽ thực hiện nhiệm vụ tìm số lượng tối đa cho mỗi mục.
Mã:
Sub MAX_Example2 () Dim k As Integer For k = 2 to 9 Cells (k, 7) .Value = WorksheetFunction.Max (Range ("A" & k & ":" & "E" & k)) Tiếp theo k End Sub

Điều này sẽ xác định số lượng tối đa một cách dễ dàng.
Bây giờ hãy chạy mã theo cách thủ công hoặc nhấn phím F5 và xem kết quả như hình dưới đây.

Để nhận tên tháng có giá trị lớn nhất, hãy sử dụng mã bên dưới.
Mã:
Sub MAX_Example2 () Dim k As Integer For k = 2 to 9 Cells (k, 7) .Value = WorksheetFunction.Max (Range ("B" & k & ":" & "E" & k)) Các ô (k, 8) .Value = WorksheetFunction.Index (Range ("B1: E1"), WorksheetFunction.Match _ (Cells (k, 7) .Value, Range ("B" & k & ":" & "E" & k)) )) Tiếp theo k End Sub

Dựa trên giá trị được cung cấp bởi hàm VBA max, hàm INDEX & hàm MATCH sẽ trả về tháng được liên kết trong dòng tiếp theo.

Những điều cần ghi nhớ
- Nếu số trùng lặp của họ ở đó, nó sẽ chỉ hiển thị một số đến trước.
- Đây là công thức ngược lại của hàm MIN trong excel.
- MAX không phải là một hàm VBA. Nó là một hàm tích hợp sẵn trong excel, vì vậy sử dụng lớp hàm worksheet.
Bạn có thể tải xuống Mẫu Excel này tại đây - Mẫu Hàm Max VBA.