300 Ví Dụ

Tìm giá trị cao thứ hai

Find Second Highest Value

Dưới đây chúng ta sẽ xem xét một chương trình trong Excel VBA điều đó tìm giá trị cao thứ hai .



Tình hình:

công thức tính thanh toán thế chấp trong excel

Tìm giá trị cao thứ hai trong Excel VBA





1. Đầu tiên, chúng ta khai báo hai đối tượng Range và hai biến kiểu Double. Chúng tôi gọi các đối tượng Range là rng và ô. Một biến kép chúng tôi gọi là MaximumValue và một biến đôi chúng tôi gọi là secondHighestValue.

Không córngNhưPhạm vi, ôNhưPhạm vi
Không cógiá trị cao nhấtNhư Kép, secondHighestValueNhư Kép

2. Chúng ta khởi tạo đối tượng Range rng với dải ô đã chọn và hai biến Double có giá trị 0.



Bộrng = Lựa chọn
highValue = 0
secondHighestValue = 0

3. Đầu tiên, chúng tôi muốn tìm giá trị cao nhất. Chúng tôi muốn kiểm tra từng ô trong một phạm vi được chọn ngẫu nhiên (phạm vi này có thể có kích thước bất kỳ). Trong Excel VBA, bạn có thể sử dụng vòng lặp Cho Mỗi Tiếp theo cho việc này. Thêm các dòng mã sau:

'Tìm giá trị cao nhất
MỗitủTrongrng

Kế tiếptủ

Lưu ý: rng và ô được chọn ngẫu nhiên ở đây, bạn có thể sử dụng bất kỳ tên nào. Hãy nhớ tham khảo những tên này trong phần còn lại của mã của bạn. Dòng màu xanh lá cây là một nhận xét và chỉ được thêm vào đây để cung cấp thông tin về đoạn mã này.

4. Chúng tôi kiểm tra từng ô trong phạm vi này. Nếu nó cao hơn giá trị cao nhất, chúng tôi ghi giá trị vào biến giá trị cao nhất. Thêm dòng mã sau vào vòng lặp.

Nếu nhưcell.Value> cao nhấtsau đóhighValue = cell.Value

Lưu ý: giá trị đầu tiên luôn cao hơn giá trị cao nhất vì giá trị bắt đầu của giá trị cao nhất là 0.

5. Thứ hai, chúng tôi muốn tìm Giá trị cao thứ hai. Chúng tôi thêm một vòng lặp For Each Next.

văn bản trục x trong excel thay vì số
'Tìm giá trị cao thứ hai
MỗitủTrongrng

Kế tiếptủ

6. Chúng tôi kiểm tra lại từng ô trong phạm vi đã chọn. Nếu giá trị đó cao hơn secondHighestValue và thấp hơn giá trị cao nhất, chúng tôi ghi giá trị vào biến secondHighestValue. Thêm dòng mã sau vào vòng lặp.

Nếu nhưcell.Value> secondHighestValuecell.Valuesau đósecondHighestValue = cell.Value

7. Cuối cùng, chúng tôi hiển thị giá trị cao thứ hai bằng cách sử dụng MsgBox.

MsgBox 'Giá trị cao thứ hai là' & secondHighestValue

8. Đặt macro của bạn vào một nút lệnh, chọn các số và nhấp vào nút lệnh.

Kết quả:

Tìm kết quả có giá trị cao thứ hai

7/9 Hoàn thành! Tìm hiểu thêm về câu lệnh if then>
Đi tới Chương tiếp theo: Vòng



^