Страницы: 1
RSS
Переходил по всем гиперссылкам в таблице сверху до последней.
 
Добрый вечер!
Очень прошу помочь с одной задачей, которая заключается в следующем:

Нужен макрос - который бы переходил по всем гиперссылкам в таблице сверху до последней. Если после перехода по гиперссылке в ячейке "А1" на листе "Объект" было бы значение =1, то выполнять "макрос1", если другое значение, то выполнять гиперссылку в следующей строке на листе"Журнал." - до конца столбца.  

Я это вручную делаю, но понимаю, что можно автоматизировать эту рутину. Пытался сам написать цикл, но после нескольких часов понял - не моё... (
 
ser987,  зачем переходить по ссылке если можно проcто проверить значение по адресу который указан в ссылке?
По вопросам из тем форума, личку не читаю.
 
В реальном документе не просто ссылки на ячейки, а какая-то процедура(происходят вычисления и на другой лист выводит расчёты, те без запуска не получить данные).
Изменено: ser987 - 30.10.2020 23:32:20
 
Цитата
ser987 написал:
В реальном документе не просто ссылки на ячейки, а какая-то процедура(
без примера приближенного к реальному файлу все телодвижения могут оказаться бессмысленными.
По вопросам из тем форума, личку не читаю.
 
БМВ, Там в ячейке ссылка-слово, при нажатии на неё парсятся данные с интернета и переходит на второй лист. А что это может быть не гиперссылка?
 
Цитата
ser987 написал:
А что это может быть не гиперссылка?
гиперссылка, но не она вызывает обновление. Скорее всего по какому либо событию.

а что не в этой теме?
Изменено: БМВ - 30.10.2020 23:50:57
По вопросам из тем форума, личку не читаю.
 
БМВ, нельзя имтировать клик?
Создал новую, думал в той уже не ответят.
 
Цитата
ser987 написал:
нельзя имтировать клик?
в той теме и ответили как раз только там не клик, а переход. А вот дальше то что?
По вопросам из тем форума, личку не читаю.
 
ser987,
Вот методом тыка набросал это, правда в конце выдаёт ошибку, но дело делает, работает. Можете глянуть, что можно исправить?

Код
Sub PereborDiapazonaYacheek()

Dim MyRange As Range
Dim MyCell As Range
Set MyRange = Range("I2:I589")    'я тут вручную каждый раз меняю диапазон. как задать со второй и до последней не пустой
                                                      ' ячейки в столбце "I" ? 
Cells(2, "I").Select

For Each MyCell In MyRange
    Sheets("Список").Select
    ActiveCell.Offset(1, 0).Select
    Selection.Hyperlinks(1).Follow
    If Cells(1, 17) = "" Then ТоАрхив

Next MyCell

End Sub
Изменено: ser987 - 31.10.2020 16:07:33
 
ser987,сейчас попробуем - вы пока вернитесь и везде выдели макрос нажмите кнопку <...> для нормального оформления
так как файл видимо другой не проверял =замените вашу строку  на
Код
Set MyRange = Range("I2:I" & Cells(Rows.Count, 9).End(xlUp).Row)    'я тут вручную каждый раз меняю диапазон. как задать со второй и до последней не пустой
Изменено: Mershik - 31.10.2020 15:53:28
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, строку заменил, спасибо.
А почему в конце всеравно выдаёт ошибку в строке
Код
Selection.Hyperlinks(1).Follow 

подсвечивает её жёлтым
всё работает как надо, но макрос в конце останавливается ошибкой
Изменено: ser987 - 31.10.2020 16:13:06
 
ser987, я не знаю, проверить не могу так как в файле у вас другие данные и диапазоны и листы..переделывать не хочется
Не бойтесь совершенства. Вам его не достичь.
 
Могу ванговать, что вы пытаетесь перейти по гиперссылке при наличии отсутствия оной.
 
RAN, наверно так и есть, макрос по всем ссылкам проходит и только потом ошибка

всё работает, но выдаёт ошибку уже в конце
я просто подумал что может и без файла  тут кто своим опытным взглядом сможет определить что что-то тут не на месте)


Код
Sub PereborDiapazonaYacheek()

Dim MyRange As Range
Dim MyCell As Range
Set MyRange = Range("I2:I" & Cells(Rows.Count, 9).End(xlUp).Row)
Cells(2, "I").Select

For Each MyCell In MyRange
    Sheets("Список").Select
    ActiveCell.Offset(1, 0).Select
    Selection.Hyperlinks(1).Follow         '  вот тут выскакивает ошибка, но в конце, когда уже все ссылки пройдены 
    If Cells(1, 17) = "" Then ТоАрхив

Next MyCell

End Sub
Изменено: ser987 - 31.10.2020 16:27:04
Страницы: 1
Наверх