Hàm Max VBA | Làm thế nào để tìm tối đa bằng cách sử dụng Max trong Excel VBA?

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 vì vậy nó được sử dụng với phương thức trang tính làm 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 có tên là MAX 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 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

Vòng lặp rất quan trọng trong VBA để chạy qua tất cả các ô và đế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 những mặt hàng đó như được hiển thị trong 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 trong excel, chúng ta 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 được giá trị lớn nhất tên tháng, hãy sử dụng mã dưới đây.

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 hãy sử dụng lớp hàm trang tính.

Bạn có thể tải xuống Mẫu Excel này tại đây - Mẫu hàm tối đa VBA


$config[zx-auto] not found$config[zx-overlay] not found