엑셀 VBA에서 두 번째로 높은 값을 찾기
우리는 두 번째로 높은 값을 찾아 엑셀 VBA에서 프로그램을보고 아래.
상황 :
-
먼저, 우리는이 범위 개체와 유형을 두 번 두 변수를 선언합니다. 우리는 범위가 RNG 세포 개체를 호출합니다. 우리가 highestValue를 호출 한 더블 변수, 그리고 더블 변수는 우리가 secondHighestValue를 호출합니다.
Dim rng As Range, cell As Range Dim highestValue As Double, secondHighestValue As Double
-
우리는 선택한 범위 및 0 값을 가진 두 개의 더블 변수 Range 개체의 RNG를 초기화
Set rng = Selection highestValue = 0 secondHighestValue = 0
-
첫째, 우리는 가장 높은 값을 찾고 싶어요. 우리는 (이 범위는 임의의 크기 일 수있다) 무작위로 선택된 범위의 각 셀을 확인합니다. 엑셀 VBA에서는 이에 대한 각 다음 루프의 경우를 사용할 수 있습니다. 다음 코드 줄을 추가합니다
'Find Highest Value For Each cell In rng Next cell
참고 : RNG 세포가 무작위로 여기에 선택되어, 당신은 어떤 이름을 사용할 수 있습니다.
코드의 나머지 부분에서이 이름을 참조해야합니다. 녹색 선은 주석입니다 만이 코드 조각에 대한 정보를 제공하기 위해 여기에 추가된다.
-
우리는이 범위의 각 셀을 선택합니다. 이 highestValue보다 높은 있다면, 우리는 변수 highestValue에 값을 작성합니다. 루프에 다음 코드 줄을 추가합니다.
If cell.Value > highestValue Then highestValue = cell.Value
참고 : highestValue의 시작 값이 0이기 때문에 첫 번째 값은 항상 높은 highestValue보다
-
둘째, 우리는 두 번째로 높은 값을 찾고 싶어요. 우리는 각각 다음 루프에 대한 또 다른를 추가합니다.
'Find Second Highest Value For Each cell In rng Next cell
-
우리는 다시 선택한 범위의 각 셀을 확인합니다. 이 secondHighestValue 이상이고 highestValue보다 낮은 경우에, 우리는 변수 secondHighestValue에 값을 작성합니다. 루프에 다음 코드 줄을 추가합니다.
If cell.Value > secondHighestValue And cell.Value < highestValue Then secondHighestValue = cell.Value
(7) 마지막으로, 우리는있는 MsgBox를 사용하여 두 번째로 높은 값을 표시.
MsgBox "Second Highest Value is " & secondHighestValue
명령 단추에 매크로 8.는 번호를 선택하고 명령 버튼을 클릭합니다.
결과 :