Mel spesso vuole anteporre un personaggio all’inizio di qualunque cosa si trovi in ​​un intervallo di celle. Ad esempio, potrebbe voler aggiungere una lettera all’inizio di un testo (quindi “123” diventa “A123” e “xyz” diventa “Axyz”) oppure potrebbe voler aggiungere un apostrofo (quindi “123” diventa ” 123 “e” xyz “

diventa” ‘xyz “). Mel si chiede se questo possa essere fatto usando Trova e sostituisci.

La risposta breve è che non può. Le funzionalità Trova e sostituisci in Excel sono più limitate di quelle in Word, in cui è possibile cercare caratteri jolly e utilizzare il testo “Trova” in ciò che viene sostituito. (Questi sono solo due esempi di funzionalità mancanti in Trova e sostituisci di Excel.)

Una possibile risposta, quindi, è copiare i dati su Word, utilizzare Trova e sostituisci per apportare le modifiche e quindi copiare nuovamente i dati. Ovviamente, corri il rischio di perdere la formattazione nel round trip, perdere parte della tua precisione e convertire tutti i risultati della formula in valori statici. Per molti utenti, questi non sono rischi accettabili.

Un’altra opzione è utilizzare le capacità di concatenazione di Excel. Ad esempio, se i valori che vuoi anteporre sono nella colonna A (che inizia con A1), allora dovresti usare una formula come questa è la colonna B:

="A" & A1

Il risultato antepone la lettera A a qualunque cosa sia in A1. Funziona per la pre-attesa di qualsiasi cosa tranne un apostrofo. Il tentativo di anteporre un apostrofo finisce con “123 o” xyz, ma l’apostrofo è visibile nella cella. Il risultato non è lo stesso, per Excel, della digitazione di un apostrofo seguito da 123 o di un apostrofo seguito da xyz. (In caso di digitazione, l’apostrofo indica che il contenuto della cella deve essere trattato come testo e l’apostrofo è visibile solo nella barra della formula, non nella cella stessa.)

Se desideri effettivamente modificare i valori in una serie di celle (cosa che suggerirebbe il desiderio di utilizzare Trova e sostituisci), l’unica cosa che puoi fare è utilizzare una macro per apportare le modifiche. Se vuoi solo anteporre celle che iniziano con un valore impostato (come 123) con una lettera (come A), sarà sufficiente una semplice macro.

Sub Prepend1()

ToFind = "123"

ToFindLength=Len(ToFind)

ToPrepend = "A"



For Each rcell In Selection         If LCase(Mid(rcell.Value, 1, ToFindLength)) =  LCase(ToFind) Then             rcell.Value = ToPrepend & rcell.Value         End If     Next End Sub

Notare che la variabile ToFind contiene il testo iniziale che si desidera anteporre e la variabile ToPrepend contiene ciò che si desidera visualizzare prima di quella stringa. In questo caso, quando selezioni un intervallo di celle ed esegui la macro, qualsiasi cosa che inizi con 123 (come “123” o “12345”

o “123D27X”) avrà la lettera A aggiunta davanti a la cellula.

Una tale macro non aiuta, tuttavia, quando si desidera aggiungere la lettera all’inizio di ogni cella dell’intervallo, non solo quelle che iniziano con 123.

In tal caso è necessario un approccio diverso.

Sub Prepend2()

Dim rng As Range     Dim c As Range     Dim ToPrepend As String

ToPrepend = "A"



' Process only text and number constants     Set rng = Selection.SpecialCells(xlCellTypeConstants, 3)



For Each c In rng         c.Value = ToPrepend & c.Value     Next c End Sub

Questa macro accetta un sottoinsieme di qualsiasi cella selezionata prima di eseguirla (solo quelle celle contenenti testo e valori numerici) e quindi aggiunge il contenuto della variabile ToPrepend all’inizio della cella. Se vuoi cambiare ciò che è pre-sospeso, cambia semplicemente il valore della variabile. (Va notato che se si modifica ToPrepend in un apostrofo, le celle a cui è anteposto l’apostrofo si comportano esattamente come se si fosse digitato e apostrofo seguito dal valore della cella.)

_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 (12239) si applica a Microsoft Excel 2007 e 2010. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: