| | Post: 1 | Registrato il: 19/10/2009
| Città: BIELLA | Età: 60 | Utente Junior | 2010 | | OFFLINE | |
|
19/10/2009 13:34 | |
Salve a tutti, sono nuovo del forum e mi unisco a voi per cercare una solizione ad un problema che non riesco a risolvere.
Il mio problema è il seguente:
Devo trovare il modo di poter gestire alcune celle di excel in modo da poter scrivere una sola lettera o cifra per cella e che dopo averla scritta in automatico il cursore si posizioni sulla cella seguente senza dover utilizzare il TAB per spostarsi.
Qualcuno mi può aiutare a risolvere?
Grazie anticipatamente. [Modificato da amossito 19/10/2009 15:39] |
|
| | Post: 190 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Junior | 2007 / 13 | | OFFLINE | |
|
19/10/2009 16:05 | |
ciao amossito
non saprei dirti se col VBA si possa eseguire questo comando di invio dopo aver digitato una sola lettera in una cella , comunque l'alternativa che ti posso dare e' la formattazione condizionale della cella con la funzione LUNGHEZZA()
ti allego un file per verifica per non starti qui a spiegare tutta la trafila di inserimento.
ciao locate
PS. se qualcuno a gia fatto un intervento del genere in VBA, ben venga il suo aiuto per un futuro Ciao da locate
excel 2007 / 13 |
| | Post: 371 | Registrato il: 04/02/2009
| Città: MILANO | Età: 64 | Utente Senior | 2000 - 2007 | | OFFLINE | |
|
19/10/2009 17:42 | |
Ciao amossito
alcune domande:
1) esattamente che tipo di dati devi inserire nelle celle?
2) seguono una qualche sequenza o sono casuali?
3) puoi farci un esempio concreto?
4) la sequenza deve svolgersi in orizzontale o verticale?
5) potrebbe andare bene un campo in cui inserire tutti i caratteri ed una macro che li spalma nelle celle in automatico?
ciao
pietrol
pietrol
____________________________________
Win 10 Pro - Excel 2000 - 2007 -2016
Il lupo ululà, il castello ululì. |
| | Post: 1.719 | Registrato il: 14/11/2004
| Utente Veteran | Office 2019 | | OFFLINE |
|
19/10/2009 18:13 | |
Ciao il punto interrogativo per dire che non ho capito niente, prendiamo la parola "Pippo", scritto in "A1", tu cosa vorresti che accadesse?.
in B1-C1-D1.... P-i-p-p-o, o in verticale A1-A2-A3....
Oppure una volta che hai scritto la lettera o quello che sia si sposti a dx nella cella vuota, se è questo, devi sempre premere invio, perchè possa avvenire l'evento successivo, anche se usiamo l'evento "Change" della cella come input aspetta sempre invio.
Però un piccolo escamotage c'è, ma non so fino a che punto ti possa essere utile.
Copia questa macro nel codice del foglio
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nn As Variant, r As Integer, c As Integer, x As Integer
nn = Target.Value
r = Target.Row
c = Target.Column
ll = Len(nn)
Application.EnableEvents = False
For x = 1 To ll + 1
Cells(r, c) = Mid(nn, x, 1)
c = c + 1
Next x
Cells(r, c).Select
Application.EnableEvents = True
End Sub
Ora se scrivi un testo in qualsiasi cella del foglio, questo testo viene fatto lo spelling dei caratteri cella per cella, lasciando una cella vuota e pronto per un nuovo testo o altro, in orizzontale.
In questo modo premi una sola volta Invio.
Ciao By Sal
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 1 | Registrato il: 19/10/2009
| Città: BIELLA | Età: 60 | Utente Junior | 2010 | | OFFLINE | |
|
19/10/2009 18:43 | |
Io ho creato un modulo in excel che utilizzo per lavoro.
Nella maggior parte del foglio scrivo i dati normalmente (che poi devono essere stampati) tranne in una stringa ben precisa in cui le lettere o i numeri devono essere divisi lettera per lettera o numero per numero in celle ben precise.
In particolar modo in una stringa formata da 27 celle una in fianco all'altra (nella stessa riga) ogni casella deve contenere una singola lettera o numero, fino a completare queste 27 celle.
Es: nella cella A1 una lettera - Nella cella A2 Una lettera - Nella lettera A3 un numero - e così via.
Nello specifico in questa stringa devo scrivere il codice Iban dei chlienti che vengono da me in banca per effettuare un bonifico.
Anzi dirò di più, se fosse possibile vorrei che questa riga facesse anche un controllo su quello che scrivo, in particolare le prime due celle devono contenere solo lettere, le seconde due celle solo numeri, la quarta solo lettere e tutte le altre sia numeri che lettere.
Spero di essere stato abbastanza chiaro.
In più vi chiedo cortesemente di spiegarmi la cosa in una forma semplice da capire, visto che non sono un grande seperto di excel e quindi a volte faccio fatica a capire la risposta che mi date.
Ancora grazie.
|
| | Post: 191 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Junior | 2007 / 13 | | OFFLINE | |
|
20/10/2009 00:33 | |
ciao amossito
letta la tua ultima richiesta e con i tuoi nuovi appunti ti ho creato un file per darti idea dell'utilizzo della macro che ti a gia fatto BY SAL ( che saluto ) e aggiungendo alcune righe di codice per il controllo delle celle di immissione con modifica relativa.
poi le prime sei celle dalla A alla F le ho condizionate come tu ai chiesto in modo da avere un minimo di controllo per i dati immessi
NB puoi controllerle tutte se vuoi basta ampliare il meccanismo
ciao locate e buon Ciao da locate
excel 2007 / 13 |
| | Post: 2 | Registrato il: 19/10/2009
| Città: BIELLA | Età: 60 | Utente Junior | 2010 | | OFFLINE | |
|
20/10/2009 16:15 | |
Ciao locatevaresino,
questa sera vado a casa e ci provo, poi ti saprò dire.
Nel frattempo ti ringrazio per la tua gentilezza.
Ciao
|
| | Post: 3 | Registrato il: 19/10/2009
| Città: BIELLA | Età: 60 | Utente Junior | 2010 | | OFFLINE | |
|
21/10/2009 00:21 | |
Ho visto la tua soluzione, hai centrato in pieno il problema.
Ti ringrazio ancora della dritta.
Ringrazio anche BY SAL
Siete stati gentilissimi.
Ciao
[Modificato da amossito 21/10/2009 00:26] |
| | Post: 4 | Registrato il: 19/10/2009
| Città: BIELLA | Età: 60 | Utente Junior | 2010 | | OFFLINE | |
|
23/10/2009 16:42 | |
Scusate, ma navigando un po' qua e un po la, ho trovato anche questa formula che si avvicina meglio al mio problema, pero' visto che oltre a cifre e numeri in alcuni casi mi servirebbe anche per inserire altri simboli tipo: ( / - : . + "
sapreste dirmi come variare questa formula perchè possa accettare anche questi caratteri (che solo così non vengono accettati) e in più che il sistema accetti anche il tasto spaziatore (così da spostarsi senza dover usare il Tab?)
La formula è questa:
Private Sub TextBox013_Change()
If (UCase(TextBox013) >= "A" And UCase(TextBox013) <= "Z") Or (UCase(TextBox013) >= "0" And UCase(TextBox013) <= "9") Then
TextBox013 = UCase(TextBox013)
TextBox014.SetFocus
Else
TextBox013 = ""
End If
End Sub
Ancora grazie anticipatamente per l'eventuale aiuto.
|
| | Post: 197 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Junior | 2007 / 13 | | OFFLINE | |
|
23/10/2009 18:57 | |
ciao
prova a sostituire la stinga
-----------------
If (UCase(TextBox013) >= "A" And UCase(TextBox013) <= "Z") Or (UCase(TextBox013) >= "0" And UCase(TextBox013) <= "9") Then
----------
con
-----------------
If (UCase(TextBox013) >= " " And UCase(TextBox013) <= "~") Then ''il primo e carattre 32= spazio 2 carattere 126=~
-------------
dovrebbe accettare da chr(32)spazio a chr(126)~
comunque nella macro di SAl da me modificara accetta qualsiasi carattere anche quelli ASCII grafici tipo ▓×æ╗¢╝e cosi via
ciao locate
Ciao da locate
excel 2007 / 13 |
| | Post: 5 | Registrato il: 19/10/2009
| Città: BIELLA | Età: 60 | Utente Junior | 2010 | | OFFLINE | |
|
23/10/2009 21:12 | |
Purtroppo non funziona.
Mi sono dimenticato di dire che questa è una formula che funziona con Visual Basic.
Non accetta nessun simbolo e nemmeno lo spazio.
Hai delle altre soluzioni?
Nel caso della macro di sal, anche se aveva capito cosa chiedevo e aveva trovato una soluzione, non riuscivo a inserirla nel contesto che serviva a me, visto che io non scrivo direttamente sul foglio excel ma su un userform di Visual Basic e quindi non sono riuscito a collocarlo nel mio sistema.
Allego un immagine della schermata che vado a completare per la compilazione del modulo.
Grazie |
| | Post: 374 | Registrato il: 04/02/2009
| Città: MILANO | Età: 64 | Utente Senior | 2000 - 2007 | | OFFLINE | |
|
25/10/2009 17:50 | |
Ciao amossito
prova questa macro e vedi come va
Private Sub TextBox013_Change()
Select Case UCase(TextBox013)
Case "A" To "Z", "0" To "9", "+", "/", "-", ".", "*" 'aggiungi qua altri eventuali caratteri
TextBox013 = UCase(TextBox013)
TextBox014.SetFocus
Case Else
TextBox013 = ""
End Select
End Sub
Intanto complimenti per la form, molto curata.
ciao
pietrol
pietrol
____________________________________
Win 10 Pro - Excel 2000 - 2007 -2016
Il lupo ululà, il castello ululì. |
| | Post: 6 | Registrato il: 19/10/2009
| Città: BIELLA | Età: 60 | Utente Junior | 2010 | | OFFLINE | |
|
26/10/2009 00:30 | |
Questo funziona molto bene.
E' esattamente quello che cercavo.
Grazie mille pietrol.
Grazie anche per i complimenti, di solito cerco di essere preciso.
Un saluto.
Amossito
|
| | Post: 0 | Registrato il: 29/09/2005
| Città: NOCIGLIA | Età: 45 | Utente Junior | | OFFLINE | |
|
09/01/2013 14:56 | |
[POSTQUOTE][QUOTE:98322196=amossito, 23/10/2009 21:12]Purtroppo non funziona.
Mi sono dimenticato di dire che questa è una formula che funziona con Visual Basic.
Non accetta nessun simbolo e nemmeno lo spazio.
Hai delle altre soluzioni?
Nel caso della macro di sal, anche se aveva capito cosa chiedevo e aveva trovato una soluzione, non riuscivo a inserirla nel contesto che serviva a me, visto che io non scrivo direttamente sul foglio excel ma su un userform di Visual Basic e quindi non sono riuscito a collocarlo nel mio sistema.
Allego un immagine della schermata che vado a completare per la compilazione del modulo.
Grazie[/QUOTE][/POSTQUOTE]
lo so che è un pò vecchiotto come post ma sono nelle stesse condizioni servirebbe anche a me un excel che si sposti in automatico alla cella successiva tipo codice fiscale non so se sono stato chiaro
|
| | Post: 0 | Registrato il: 30/09/2013
| Età: 59 | Utente Junior | | OFFLINE | |
|
30/09/2013 09:47 | |
Salve a tutti, sono interessato alla discussione di un solo carattere per cella, spiego la mia esigenza devo creare un modello Excel che funzioni come una pagina di quaderno a quadretti dove mio figlio possa scrivere un singolo carattere per cella. Ho visto le vostre considerazioni su stringhe brevi, mi chiedevo se il tutto possa essere portato ad un numero maggiore di celle tipo a 60X120.
Grazie |
| | Post: 3.620 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
30/09/2013 11:18 | |
Ciao Alberto, la prima cosa inserisci la tua versione Excel nella tua firma come fare clicca in fondo alla mia firma.
ma scrive una parola oppure deve inserire una sola lettera?, il discorso è far capire ad Excel l'input da tastiera, si aspetta sempre un invio per andare avanti.
Ciao By Sal
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 1 | Registrato il: 30/09/2013
| Età: 59 | Utente Junior | | OFFLINE | |
|
01/10/2013 10:00 | |
devo fare usare il foglio a mio figlio senza uso di formule, ma semplicemente come un quaderno, per cui se dopo aver inserito il carattere nella cella il cursore si sposta automaticamente sarebbe comodo. Excel 2010 |
|
|