I am trying to get the highest value in non contiguous range and print its address. I used data in Excel like in the picture below:

The VBA code I used is:
Sub rngadd()
Dim r1 As Range, r2 As Range, newrng As Range
Dim dblmax As Double
Dim Xrng As Variant
Worksheets("sheet3").Activate
Set r1 = Range("A1:A5")
Set r2 = Range("A8:A12")
Set newrng = Union(r1, r2)
newrng.Select
dblmax = Application.WorksheetFunction.max(newrng)
Xrng = WorksheetFunction.Index(newrng, WorksheetFunction.Match(dblmax, newrng, 0)).address(False, False)
Worksheets(2).Range("D3").Value = dblmax
Worksheets(2).Range("E3").Value = Xrng
End Sub
I get an error as run-time error:
'1004' unable to get the match property of worksheet function class"
but if I run the code just for the range r1, I get the expected result as in the image:
So I found that I get the error because of using union, the match is unable to perform when there is a break in range(non contiguous range).
What should I do to get the desired result in non contiguous ranges like what I get in contiguous range?