как сделать ячейку с формулой гиперссылки живой после вставки - PullRequest
0 голосов
/ 11 февраля 2020

Я вставляю экспорт Access в Excel в другую книгу Excel. Все хорошо, за исключением того, что столбец, заполненный формулами гиперссылок (= гиперссылки ("{ ссылка }", "Мое имя"), вставляется мертвым. Сначала я попытался вставить все данные со значениями PasteSpecial,

    fromWS.Range(fromWS.Cells(2, 1), fromWS.Cells(fLastRow, FLastCol)).Copy
    Set toWS = toWB.Worksheets(WSheets(w))
    toWS.Cells(5, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False

, а затем, взяв столбец с формулой гиперссылки,

    fromWS.Range(fromWS.Cells(2, 123), fromWS.Cells(fLastRow, 123)).Copy

и вставив его на конечный лист,

    toWS.Cells(5, 123).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False

с параметром формулы PasteSpecial, но столбец по-прежнему имеет мертвые гиперссылки. (Под мертвыми я подразумеваю, что они отображаются как текст, и при щелчке по ним они не go переходят к гиперссылкам).

Если я щелкаю одну из ячеек и нажимаю F2 + ENTER, ссылка становится живым по внешнему виду и результату. Мысли «Справка» будет принята с благодарностью. Спасибо.

josé PS: поиск вокруг, и есть множество мест, где они показывают, как создавать гиперссылки, но Я это уже знаю. Еще раз спасибо за любую помощь ...

1 Ответ

0 голосов
/ 12 февраля 2020

Если кто-то знает лучший ответ, пожалуйста, напишите его.

Чтобы сделать ссылки работоспособными, мне пришлось запустить этот фрагмент кода после вставки данных: Dim col As Integer col = 5 While toWS.Cells(col, 124) <> "" 'This has the ProjectID, if null EOD. If toWS.Cells(col, 123) <> "" Then toWS.Cells(col, 123).Formula = toWS.Cells(col, 123).Value End If col = col + 1 Wend Однако это действительно раздражает Мой сценарий теперь намного медленнее с этим изобретением. Должно просто сработать, после специальной вставки с опцией формулы. Спасибо.

Хосе

...