why not happening?
please find below the macro code
Sub macro()
Dim highestval As Double
Dim sechighestval As Double
Dim rng As Range
Dim rang As Range
Set rng = Selection
highestval = 0
sechighestval = 0
For Each rang In rng
Next rang
Set rang = Nothing
If rang.Value > highestval Then highestval = rang.Value
For Each rang In rng
Next rang
If rang.Value > sechighestval And cell.Value < highestval Then sechighestval = cell.Value
MsgBox "second highest value is " & sechighestval
End Sub
please find below the macro code
Sub macro()
Dim highestval As Double
Dim sechighestval As Double
Dim rng As Range
Dim rang As Range
Set rng = Selection
highestval = 0
sechighestval = 0
For Each rang In rng
Next rang
Set rang = Nothing
If rang.Value > highestval Then highestval = rang.Value
For Each rang In rng
Next rang
If rang.Value > sechighestval And cell.Value < highestval Then sechighestval = cell.Value
MsgBox "second highest value is " & sechighestval
End Sub