2016-10-05 5 views
0

Я успешно создал макрос, но мне пришлось воссоздать его для каждого документа Excel, в котором я хотел его использовать. Теперь это не сработает ни для одной из книг.Excel макрос не работает

Function GetURL(rng As Range) As String 
    On Error Resume Next 
    GetURL = rng.Hyperlinks(1).Address 
End Function 

То, что я хотел бы сделать, это активировать этот макрос во всех книгах, в любое время, когда я открываю Excel и использовать =GetURL(A1) Я хочу, чтобы получить ссылку HTTP.

+2

Совет: избегать использования 'On Error Resume Next' потому что он не позволяет вам грамотно обрабатывать ошибки на грамотной основе. – Dai

+0

Что вы подразумеваете под "не будет работать"? Что происходит? –

+0

Кроме того, как вы хотите, чтобы ваш макрос работал, если в книге нет гиперссылок? Вы пишете «Я хочу, чтобы он получил HTTP-ссылку», не зная о том, что это за ссылка, или о том, как она создана, или о том, что происходит, если ее нет, или если есть несколько ссылок. – Dai

ответ

0

Есть 2 подхода, которые я могу думать о том, чтобы выполнить это:
1. Согласовать Добавить в том, что будет содержать вашу UDF и правильно установить
Official Documentantion Я думаю, что это лучший подход из-за ваше заявление

В любое время я открываю Excel и использую = GetURL (A1) Я хочу, чтобы он получил ссылку HTTP.>


2. Вы можете использовать UDF из оригинальной книги, как так:

=Book1.xlsm!GetURL(A1) 

Пока книга открыта

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