Cambiare Porzioni di molti collegamenti ipertestuali

Kerstine ha un foglio di lavoro con molti, molti collegamenti ipertestuali diversi in esso. Lei si chiede se c'è un modo in cui lei può sostituire solo una parte di ogni collegamento. Ad esempio, potrebbe modificare qualche istanza di http://www.mysite.com/ a c: / Documenti / mycopy /. Se c'è qualcosa supplementare nei collegamenti, allora quella parte dovrebbe rimanere. Così, per esempio, se il link originale è http://www.mysite.com/thispage.html, sarebbe cambiato in c: /documents/mycopy/thispage.html.

Questo può essere fatto facilmente con una macro. La ragione è che i collegamenti ipertestuali possono essere esaminati e modificati utilizzando le funzioni di stringa regolari. La seguente macro fornisce un modo semplice per affrontare la questione.

EditHyperlinks Sub ()
Dim lnkH come collegamento ipertestuale
Dim Venduto come String
Dim sNew As String

Venduto = "http://www.mysite.com"
sNew = "c: / Documenti / mycopy /"

Per EACK lnkH In ActiveSheet.Hyperlinks
lnkH.Address = Replace (lnkH.Address, venduto, sNew)
lnkH.TextToDisplay = Replace (lnkH.TextToDisplay, venduto, sNew)
Il Prossimo
End Sub

Questa routine passi attraverso tutti i collegamenti ipertestuali nel foglio di lavoro corrente e fa modifiche, se necessario, per ciascuno di essi. Sia il collegamento ipertestuale e il testo visualizzato sono cambiate, a seconda dei casi. Tutto quello che dovete fare è fare le modifiche al venduto e stringhe Snew specificare che cosa si sta cercando e che cosa si vuole sostituire con.

Si dovrebbe notare che questo macro utilizza la funzione Sostituisci, che è costruito nelle versioni successive di VBA. Se si utilizza una versione precedente che non include la funzione Sostituisci (saprete perché si otterrà un errore quando si tenta di attivare la macro), allora è necessario creare il proprio funzione Sostituisci che sostituisce una porzione di un stringa con un'altra. Tali funzioni sono state coperte in altre questioni di ExcelTips.

ExcelTips è la vostra fonte per la formazione Microsoft Excel conveniente. Questo suggerimento (3358) si applica a Microsoft Excel 97, 2000, 2002, e 2003. È possibile trovare una versione di questo suggerimento per l'interfaccia ribbon di Excel (Excel 2007 e versioni successive) qui: Cambiare Porzioni di molti collegamenti ipertestuali.