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.

_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 (11081) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: