As long the redirect is done using HTTP (301 moved permanently) we can use WinHttpRequest object to test. Note: XMLHTTP is not possible since this will not allow disabling follow redirects.
WinHttpRequest object has an property Option which is a enumeration WinHttpRequestOption enumeration where the 6. item is WinHttpRequestOption_EnableRedirects. This is default setted True and so WinHttpRequest will follow the redirect immediately. But we can set it False and so get the response header before the redirect is followed. From that we can get the Location: which is the URL where the redirect goes to.
Example:

Public Function testRedirect(oCell As Range) As String testRedirect = "not redirected" strURL = oCell.Hyperlinks(1).Address WinHttpRequestOption_EnableRedirects = 6 Set oWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1") oWinHttp.Option(WinHttpRequestOption_EnableRedirects) = False oWinHttp.Open "HEAD", strURL, False oWinHttp.send "" If oWinHttp.Status = 301 Then strResponseHeaders = oWinHttp.getAllResponseHeaders() For Each strResponseHeader In Split(strResponseHeaders, Chr(10)) If Left(strResponseHeader, 9) = "Location:" Then testRedirect = "redirected to " & strResponseHeader End If Next End If End Function