Scrivere solo testo in celle
Hai un problema con Excel? 
Scrivere solo testo in celle
di alexps81 data: 20/07/2015 09:35:23
Buongiorno a tutti e un saluto particolare a tutti coloro che mi hanno aiutato.
Vorrei chiedere se qualcuno sa dirmi come si può impostare un Range di celle da C13 a C34 dove si può inserire solo caratteri alfabetici (dalla A alla Z) senza avere la possibilità di inserire altri tipi di caratteri.
Grazie mille
di Lucas87 data: 20/07/2015 10:08:56
Ciao
A me viene in mente questo
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("c13:c34")) Is Nothing Then
For i = 1 To Len(Target)
If IsNumeric(Right(Left(Target, i), 1)) Then
MsgBox "Errore!!!"
Exit Sub
End If
Next
End If
End Sub
|
di alexps81 data: 20/07/2015 11:13:28
Ciao grazie per la tua risposta. Purtroppo non è proprio quello che cercavo.
In realtà la sub deve funzionare così:
Se digito le lettere deve inserirle nelle celle normalmente
Se digito numeri o altri caratteri non devono proprio inserirsi.
Simile alle textbox quando si formattano solo con testo
di alfrimpa data: 20/07/2015 18:01:54
Ciao Alex
Potresti usare la Convalida Dati
Seleziona l'intervallo interessato poi in Convalida dati in Consenti scegli Personalizzato ed in Formula digita
=VAL.TESTO(A2:A11)=VERO
Ovviamente il range è da cambiare con il tuo.
Alfredo
di alexps81 (utente non iscritto) data: 20/07/2015 18:37:33
Ciao alfrimpa, grazie anche a te per la risposta, ho provato e devo ammettere che l'idea non sembra male, ma mi piacerebbe qualcosa in più (se si può fare ovviamente)
Mi spiego meglio:
se in una cella voglio scrivere "CIAO", la cella si riempie normalmente con "CIAO" anche durente l'immissione delle varie lettere (C-I-A-O.), ma se per errore digito il numero 2 o 9 o la ( o $ o " o <, ecc... già mentre li batto questi tasti, la cella non deve proprio accettare questi caratteri.
Cioè scrivo 5, il 5 non deve neanche uscire nella cella.
di Lucas87 data: 20/07/2015 19:05:47
Non credo si possa fare.
Excel considera una cella modificata solo quando si preme invio o si cambia cella con il cursore.
Te ne puoi rendere conto prendendo una cella con un valore, scrivendo qualcosa e premendo ESC prima di confermare: tutto quello che hai fatto andrà perso e verrà ripristinato il valore di partenza.
di alexps81 data: 20/07/2015 19:10:28
Ok. Ok. Capito. Immaginavo. Grazie mille a tutti
di Vecchio Frac data: 20/07/2015 19:21:02
Non si può fare, il foglio non espone un evento KeyPress o KeyUp o tipo BeforeKey.
Una vocina mi dice in testa qualcosa con Application.OnKey ma è una follia, dovresti riscrivere procedure per ogni singolo tasto sulla tastiera e poi non sono neanche sicuro che funzionerebbe. Una bella userform, una bella textbox con il pattern desiderato e sei a posto.
Davvero, prosaicamente, l'evento Change funziona anche per questo: effettui il controllo di validità dell'immissione appena inserita e confermata dall'utente (che può ripensarci fino al momento di premere invio); se rispetta i tuoi criteri convalidi il dato altrimenti lo annulli o lo converti in maiuscolo, non è una cosa così strana.
Vuoi Approfondire?