Kerstine ha un foglio di lavoro con molti, molti collegamenti ipertestuali diversi al suo interno. Si chiede se esiste un modo per sostituire solo una parte di ogni collegamento.

Ad esempio, potrebbe voler cambiare qualsiasi istanza di http://www.mysite.com/ in c: / documents / mycopy /. Se c’è qualcosa di aggiuntivo nei collegamenti, quella parte dovrebbe rimanere. Quindi, ad esempio, se il link originale è http://www.mysite.com/thispage.html, verrebbe modificato in c: /documents/mycopy/thispage.html.

Questo può essere fatto facilmente con una macro. Il motivo è perché i collegamenti ipertestuali possono essere esaminati e modificati utilizzando le normali funzioni di stringa.

La seguente macro fornisce un modo semplice per risolvere il problema.

Sub EditHyperlinks()

Dim lnkH As Hyperlink     Dim sOld As String     Dim sNew As String

sOld = "http://www.mysite.com"

sNew = "c:/documents/mycopy/"



For Each lnkH In ActiveSheet.Hyperlinks         lnkH.Address = Replace(lnkH.Address, sOld, sNew)

lnkH.TextToDisplay = Replace(lnkH.TextToDisplay, sOld, sNew)

Next End Sub

Questa routine passa attraverso tutti i collegamenti ipertestuali nel foglio di lavoro corrente e apporta modifiche, se necessario, a ciascuno di essi. Sia il collegamento ipertestuale che il testo visualizzato vengono modificati, come appropriato. Tutto quello che devi fare è apportare modifiche alle stringhe sOld e sNew per specificare cosa stai cercando e con cosa vuoi sostituirlo.

Si noti che questa macro utilizza la funzione Sostituisci, incorporata nelle versioni successive di VBA. Se stai utilizzando una versione precedente che non include la funzione Sostituisci (lo saprai perché riceverai un errore quando proverai a trasformare la macro), allora dovrai creare la tua funzione Sostituisci che sostituisce una parte di un stringa con un altro. Tali funzioni sono state trattate in altri numeri di ExcelTips.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (3358) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: