Richard vorrebbe essere in grado di cercare un apostrofo (‘) nella posizione più a sinistra in una cella, ma Excel non gli consente di farlo. In altre parole, se una cella contiene “123 o” a34tp, Richard vorrebbe essere in grado di trovare quell’apostrofo iniziale e, facoltativamente, sostituirlo con qualcos’altro.

Fare quello che Richard vuole fare richiede un po ‘di spiegazioni preliminari.

Tecnicamente, è un termine improprio riferirsi all’apostrofo come “carattere principale” o menzionare che si trova nella “posizione più a sinistra” di una cella. Anche se potresti essere in grado di guardare la barra della formula e vedere l’apostrofo all’inizio della formula, quell’apostrofo non fa realmente parte del contenuto della cella; ecco perché non puoi usare Trova e sostituisci per trovarlo e sostituirlo.

L’apostrofo è effettivamente considerato un “carattere prefisso” per una cella.

I possibili valori del carattere del prefisso vengono impostati dall’impostazione Transition Navigation Keys in Excel e il valore dell’impostazione viene salvato cartella di lavoro per cartella di lavoro. È possibile modificare questa impostazione utilizzando la scheda Transizione della finestra di dialogo Opzioni.

Se l’impostazione è deselezionata (la condizione predefinita per l’impostazione), il valore del carattere del prefisso per ciascuna cella può essere vuoto o un apostrofo. Se la cella contiene testo, l’impostazione del carattere del prefisso non ha molta importanza. Se il contenuto della cella non è testo, l’impostazione del carattere del prefisso su un apostrofo obbliga Excel a trattare il contenuto della cella come se fosse testo. Quindi, ad esempio, il numero 123 viene trattato come testo, non come numero, e viene visualizzato nella barra della formula come “123”.

Se l’impostazione Transition Navigation Keys è selezionata (la casella di controllo contiene un segno di spunta), il valore del carattere di prefisso per ciascuna cella può avere uno tra cinque valori diversi. Questi valori sono coerenti con i prefissi utilizzati in Lotus 1-2-3 e, stranamente, sono supportati in Excel solo come ausilio transitorio per l’uso regolare nel programma.

I valori possibili sono un apostrofo (giustificato a sinistra), virgolette (giustificato a destra), carato (centrato), barra rovesciata (ripetuta) o vuoto (elemento non di testo).

Ora, torniamo alla domanda originale di Richard: come cercare e sbarazzarsi di quell’apostrofo principale. Non puoi usare Trova e sostituisci per apportare modifiche perché l’apostrofo non fa realmente parte del contenuto della cella.

Quindi, devi apportare le modifiche in una macro. Il cambio è relativamente facile. Innanzitutto, assicurati che la cartella di lavoro abbia l’impostazione Transition Navigation Keys deselezionata. Perché? Perché probabilmente non vuoi rovinare il carattere del prefisso per le celle se la cartella di lavoro potrebbe essere utilizzata in futuro con Lotus 1-2-3 di nuovo. Assicurati che l’impostazione sia corretta, nella tua macro, con la seguente riga:

Application.TransitionNavigKeys = False

È quindi possibile scorrere una selezione di celle e verificare se il carattere del prefisso per ciascuna cella è un apostrofo. Se lo è, allora tutto ciò che devi fare è fare in modo che la macro esegua l’equivalente di ridigitare manualmente il contenuto della cella, nel modo seguente:

For Each c In Selection     If c.PrefixCharacter = "'" Then         c.Value = c.Value     End If Next c

Notare che la macro controlla cosa c’è nella proprietà PrefixCharacter. Questa proprietà può essere letta in VBA, ma non può essere modificata direttamente. Questo è il motivo per cui la macro deve utilizzare la linea apparentemente semplice per riassegnare il valore di ogni cella alla cella, essenzialmente ridigitando il contenuto.

Se preferisci non utilizzare una macro per eliminare i caratteri del prefisso apostrofo, puoi sfruttare una strana piccola stranezza di Incolla speciale. Segui questi passaggi generali:

  1. Seleziona una cella vuota e copiala negli Appunti (usa Ctrl + C).

  2. Seleziona l’intervallo di celle da cui desideri rimuovere il carattere del prefisso.

  3. Visualizza la finestra di dialogo Incolla speciale.

  4. Fare clic sul pulsante di opzione Aggiungi.

  5. Fare clic su OK.

Dopo l ‘”aggiunta” della cella vuota a ciascuna delle celle di destinazione, il carattere prefisso, se presente, viene rimosso.

_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 (3332) 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: