Здравствуйте.
Новая тема и новая надежда на вашу помощь =)
Задача - каким либо образом обойти ограничение количества гиперссылок на рабочем листе в 65530 шт.
Вводные:
1. Максимальное количество строк в формируемой таблице - 150.000, т.е. это 300.000 гиперссылок.
2. Гиперссылки в столбце B - уникальные, в столбце D - могут повторяться. Но крайне не желательно дублирующиеся гиперссылки объединять\удалять и т.п., т.к. каждая строка будет рассматриваться в отдельности, а также будут применяться различные фильтры по данным и сортировки.
3. данные из этой таблицы могут и будут вручную построчно копироваться в другую новую чистую книгу.
Примеров обхода, которые гуглятся, не так много и я не смог их в силу своих знаний, как-то интегрировать в этот код, чтобы все работало.
А если и заработало (вероятно, т.к. не дождался до 65530 строки), то крайне медленно. Вот так например:
Пример файла во вложении.
Новая тема и новая надежда на вашу помощь =)
Задача - каким либо образом обойти ограничение количества гиперссылок на рабочем листе в 65530 шт.
Вводные:
1. Максимальное количество строк в формируемой таблице - 150.000, т.е. это 300.000 гиперссылок.
2. Гиперссылки в столбце B - уникальные, в столбце D - могут повторяться. Но крайне не желательно дублирующиеся гиперссылки объединять\удалять и т.п., т.к. каждая строка будет рассматриваться в отдельности, а также будут применяться различные фильтры по данным и сортировки.
3. данные из этой таблицы могут и будут вручную построчно копироваться в другую новую чистую книгу.
Примеров обхода, которые гуглятся, не так много и я не смог их в силу своих знаний, как-то интегрировать в этот код, чтобы все работало.
А если и заработало (вероятно, т.к. не дождался до 65530 строки), то крайне медленно. Вот так например:
Код |
---|
Dim Cell As Range Dim Cell2 As Range For Each Cell In Range("B6:B60000") If Cell <> "" Then ActiveSheet.Hyperlinks.Add Range("b" & Rows.Count).End(xlUp), ПутьКФайлу Next For Each Cell2 In Range("B60001:B160000") If Cell2 <> "" Then ActiveSheet.Hyperlinks.Add Range("b" & Rows.Count).End(xlUp), ПутьКФайлу Next |