우리는 두 번째로 높은 값을 찾아 엑셀 VBA에서 프로그램을보고 아래.

상황 :

Find Second Highest Value in Excel VBA

  1. 먼저, 우리는이 범위 개체와 유형을 두 번 두 변수를 선언합니다. 우리는 범위가 RNG 세포 개체를 호출합니다. 우리가 highestValue를 호출 한 더블 변수, 그리고 더블 변수는 우리가 secondHighestValue를 호출합니다.

Dim rng As Range, cell As Range

Dim highestValue As Double, secondHighestValue As Double
  1. 우리는 선택한 범위 및 0 값을 가진 두 개의 더블 변수 Range 개체의 RNG를 초기화

Set rng = Selection

highestValue = 0

secondHighestValue = 0
  1. 첫째, 우리는 가장 높은 값을 찾고 싶어요. 우리는 (이 범위는 임의의 크기 일 수있다) 무작위로 선택된 범위의 각 셀을 확인합니다. 엑셀 VBA에서는 이에 대한 각 다음 루프의 경우를 사용할 수 있습니다. 다음 코드 줄을 추가합니다

'Find Highest Value

For Each cell In rng

Next cell

참고 : RNG 세포가 무작위로 여기에 선택되어, 당신은 어떤 이름을 사용할 수 있습니다.

코드의 나머지 부분에서이 이름을 참조해야합니다. 녹색 선은 주석입니다 만이 코드 조각에 대한 정보를 제공하기 위해 여기에 추가된다.

  1. 우리는이 범위의 각 셀을 선택합니다. 이 highestValue보다 높은 있다면, 우리는 변수 highestValue에 값을 작성합니다. 루프에 다음 코드 줄을 추가합니다.

If cell.Value > highestValue Then highestValue = cell.Value

참고 : highestValue의 시작 값이 0이기 때문에 첫 번째 값은 항상 높은 highestValue보다

  1. 둘째, 우리는 두 번째로 높은 값을 찾고 싶어요. 우리는 각각 다음 루프에 대한 또 다른를 추가합니다.

'Find Second Highest Value

For Each cell In rng

Next cell
  1. 우리는 다시 선택한 범위의 각 셀을 확인합니다. 이 secondHighestValue 이상이고 highestValue보다 낮은 경우에, 우리는 변수 secondHighestValue에 값을 작성합니다. 루프에 다음 코드 줄을 추가합니다.

If cell.Value > secondHighestValue And cell.Value < highestValue Then secondHighestValue = cell.Value

(7) 마지막으로, 우리는있는 MsgBox를 사용하여 두 번째로 높은 값을 표시.

MsgBox "Second Highest Value is " & secondHighestValue

명령 단추에 매크로 8.는 번호를 선택하고 명령 버튼을 클릭합니다.

결과 :

Find Second Highest Value Result