Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Scrivere un solo carattere in una singola cella-

Ultimo Aggiornamento: 01/10/2013 10:00
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. [SM=x423063]
[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

carattere unico
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.
[SM=x423047]
Post: 191
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Junior
2007 / 13
OFFLINE
20/10/2009 00:33

= codice ibam
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 [SM=x423051]
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
[SM=x423028]
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
[SM=x423028]
[SM=x423069]
[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.
[SM=x423047] [SM=x423017]
Post: 197
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Junior
2007 / 13
OFFLINE
23/10/2009 18:57

ampliare caratteri
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
[SM=x423028] [SM=x423047] [SM=x423069]
Post: 0
Registrato il: 29/09/2005
Città: NOCIGLIA
Età: 45
Utente Junior
OFFLINE
09/01/2013 14:56

Re:
[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
[SM=x423047]


Post: 0
Registrato il: 30/09/2013
Età: 59
Utente Junior
OFFLINE
30/09/2013 09:47

solo carattere per cella
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

Carattere per cella
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 [SM=x423051]


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

un solo carattere
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. [SM=x423017]
Excel 2010
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 18:59. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com