Pelo que posso dizer, ele falha porque os hyperlinks criados com a função HYPERLINKS
do Excel não são incluídos na coleção% Vde% VBA da célula. Tente usar HYPERLINKS
e observe que ele não imprime os URLs das células criando um hiperlink com fórmula. Isso é feito novamente ao tentar editar o hiperlink no Excel. Clicar com o botão direito do mouse em uma célula com a função Debug.Print c.Hyperlinks(1).Address
oferece apenas a opção "Remover Hiperlink" e clicar nela não faz nada. Um hiperlink comum permite editar, abrir ou remover.
Aqui está uma solução que primeiro tenta extrair o valor HYPERLINK
e, se isso falhar, extrai o valor de texto das células. Observe que isso não funcionará se você usar o parâmetro HYPERLINK(1).ADDRESS
na sua fórmula friendly_name
, pois ele será lido como o valor da célula.
Sub Hyperlink_Follow()
Dim c As Range
Dim url As String
For Each c In Selection.Cells
url = ""
On Error Resume Next
url = c.Hyperlinks(1).Address
If url = "" Then url = c.Value
ThisWorkbook.FollowHyperlink url
Application.Wait Now() + TimeValue("00:00:03")
Next
End Sub
Note que também adicionei uma pausa de 3 segundos entre cada URL, pois descobri que abrir muitos de uma vez tende a sobrescrever a última janela criada em vez de criar uma nova. Isso pode ser porque estou trabalhando no IE. Você pode testar isso e removê-lo se não for necessário.