Ricerca e sostituzione nelle caselle di testo (Microsoft Excel)
David si chiede se sia possibile utilizzare Trova e sostituisci per individuare e modificare il testo nelle caselle di testo o nelle etichette nei grafici. La risposta breve è che non è possibile, ma ci sono diverse soluzioni alternative che puoi provare.
Innanzitutto, puoi facilmente rendere dinamico il testo nelle caselle di testo o nelle etichette del grafico, in modo che sia legato al contenuto di alcune celle del foglio di lavoro. Ad esempio, potresti fare quanto segue per le tue caselle di testo:
-
Copia il testo da ciascuna delle caselle di testo a un intervallo di celle nel foglio di lavoro. (Per questo esempio, supponi di aver copiato il contenuto di dieci caselle di testo nell’intervallo Z1: Z10.)
-
Seleziona la prima casella di testo (quella che corrisponde alla cella Z1) e elimina il contenuto della casella di testo.
-
Con la casella di testo ancora selezionata, immettere quanto segue nella barra della formula: = Z1. Quando premi Invio, la casella di testo dovrebbe riflettere tutto ciò che è nella cella Z1.
-
Ripetere i passaggi 2 e 3 per ciascuna delle altre caselle di testo, utilizzando il riferimento di cella appropriato per ciascuna al passaggio 3.
Questo è tutto. Puoi utilizzare la stessa tecnica con le etichette del grafico personalizzate: tutto ciò che devi fare è selezionare l’etichetta del grafico e inserire un riferimento di cella nella barra della formula. Con le caselle di testo e le etichette del grafico legate alle celle del foglio di lavoro, puoi facilmente usare Trova e sostituisci per cercare e modificare le informazioni nelle celle. Quando vengono apportate le modifiche, le caselle di testo e le etichette del grafico dovrebbero riflettere automaticamente le modifiche nelle celle.
L’unico modo per modificare effettivamente il testo all’interno di una casella di testo o di un’etichetta del grafico è modificarlo manualmente o modificarlo utilizzando una macro. Il codice dovrà scorrere ogni casella di testo nel foglio di lavoro e quindi apportare la modifica. Quella che segue è una versione semplice di una macro che può apportare tale modifica.
Sub TextBoxReplace() Dim shp As Shape Dim sOld As String Dim sNew As String 'Change as desired sOld = "Old string" sNew = "New string" On Error Resume Next For Each shp In ActiveSheet.Shapes With shp.TextFrame.Characters .Text = Application.WorksheetFunction.Substitute( _ .Text, sOld, sNew) End With Next End Sub
Questa macro passa attraverso tutte le forme nel foglio di lavoro (le caselle di testo sono forme) e quindi sostituisce tutto ciò che è nella variabile sOld con ciò che è nella variabile sNew. Applicare la stessa tecnica alle etichette del grafico è solo un po ‘più complesso, come mostrato nella seguente macro:
Sub ChartLabelReplace() Dim Cht As ChartObject Dim Ser As Series Dim scPt As Point Dim sOld As String Dim sNew As String 'Change as desired sOld = "Old String" sNew = "New String" On Error Resume Next For Each Cht In ActiveSheet.ChartObjects For Each Ser In Cht.Chart.SeriesCollection For Each scPt In Ser.Points With scPt.DataLabel .Text = Application.WorksheetFunction.Substitute( _ .Text, sOld, sNew) End With Next Next Next End Sub
La macro passa attraverso ogni etichetta di dati per ogni serie di dati su ogni grafico e (ancora) sostituisce qualsiasi istanza di ciò che è in sOld con ciò che è in nuovo.
_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 (9264) 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 di menu precedente di Excel qui: