2015-03-27 3 views
0

Редактировать # 1 Я пытаюсь открыть несколько гиперссылок. Все гиперссылки предназначены для файлов .pdf. Гиперссылки не сортируются, т. Е. Ячейка, предшествующая или последующая гиперссылка, может не быть гиперссылкой. Я использую поиск на основе автофильтра. Из, скажем, 100 видимых строк образуют автофильтр, из которых 60 имеют гиперссылки в указанной колонке. Я хотел бы открыть все эти файлы с помощью Excel VBA.Открыть несколько гиперссылок на основе результатов автофильтра в Excel VBA

Я использую

Sub tobedeleted() 

Dim Selrng As Range 
Dim srch_cr As Variant 

Set Selrng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8) 

srch_cr = Application.WorksheetFunction.Transpose(Selrng) 

    Dim hl As Hyperlink 
    On Error Resume Next 
    For Each hl In srch_cr.Hyperlinks 
     hl.Follow 
    Next hl 

    For Each hl In ActiveWorksheet.Cells.SpecialCells(xlCellTypeVisible).Hyperlinks 
    Next hl 
End Sub 

я не смог открыть эти гиперссылок.

Также в столбце Обозначения используется гиперссылка функции Excel, и в основном я использую vlookup для получения местоположения файла из дампа на другом листе. Функция гиперссылки в столбце активирует гиперссылку.

ответ

0

Хорошим началом было бы избавиться от On Error Resume Next и посмотреть, какие ошибки вызывает ваш код.

Кроме того, вы говорите, что используете AutoFilter для поиска строк, но ваш код работает от Selection. AutoFilter автоматически не выбирает строки. Вы должны были бы использовать

For each hl in Worksheet().Cells.SpecialCells(xlCellTypeVisible).hyperlinks 

На основе обсуждения в комментариях, я думаю, что есть несколько вопросов:

  1. Я не уверен, почему вы используете Application.WorksheetFunction.Transpose(), как это не кажется чтобы купить вам что угодно. Там не известно, какой диапазон формы может выбрать ваш пользователь, и изменить его не представляется мне полезным.
  2. Изменить петлю на For each hl in selrng.hyperlinks
    • вы в настоящее время пытаются использовать вариантные .hyperlinks, когда .hyperlinks является объектом диапазона

Если это не поможет , Я свеж от идей.

+0

Да, но я использую часть автофильтра и открываю гиперссылки в двух разных макросах. Причина заключается в отладке и проверке правильности информации. Часть открытия Hyperlink является отдельной. Я также пробовал Редактировать 1 выше – Kakeda

+0

Это ошибка? – FreeMan

+0

не делает ничего .... как ничего не мат. – Kakeda

Смежные вопросы