Se l'hai provata senza successo e non aggiungi altro allora significa che hai inserito il codice nella posizione sbagliata; altrimenti ti sarebbe comparso il messaggio
Errore di Compilazione /Sub o Function non definita.
Il codice va inserito nel modulo vba del foglio su cui lavori.
Per aprire rapidamente il modulo vba su cui inserire il codice:
-partendo dal tuo foglio di lavoro, tasto dx sul tab col nome foglio; scegli Visualizza codice
Inserito il codice nella posizione giusta, appena completi di scrivere qualcosa in qualche cella di quel foglio tale macro si avvia, ma (con le istruzioni che ho dato) comparira' il suddetto errore di compilazione evidenziando la funzione
GetNumbers sulla riga
NumOnly = GetNumbers(cTxt)Infatti non vi ho dato il codice di questa funzione: è questo, e va messo in un Modulo standard del vba:
- Codice: Seleziona tutto
Function GetNumbers(s As String)
With CreateObject("VBScript.RegExp")
.Pattern = "[^0-9,+]"
.Global = True
GetNumbers = Replace(.Replace(s, ""), ".", ",")
End With
End Function
Aggiunto il codice della Function il codice e' completo.
Nell'ipotesi che tu abbia mantenuto
ckCells = "C1, C3:C5, K8" come ho usato io nelle prove, e nell'ipotesi che la cella C1 sia formattata nello "stile ambarabà etc etc", vai in C1 e scrivi un numero: la macro si attiva, legge il contenuto della cella, trasforma tutto in Testo dove il numero e' in grassetto e lo riscrive nella cella come testo. O comunnque prova con una delle celle che hai elencato in ckCells.
Idem se nella cella scrivi una formula; es. scrivi
=3*2 e alla fine vedrai solo il testo con la "formattazione ambarabà" e la formula è scomparsa.
Il codice pubblicato consente anche di impostare la dimensione del "numero" (io ho usato Size = 14) ed eventualmente di sottolinearlo.
Riprova...