Condividi:        

[Excel] controllo su textbox digitata da utente

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] controllo su textbox digitata da utente

Postdi tszik31 » 22/08/06 18:27

Ho provato a cercare nei topics e non mi sembra di aver trovato la soluzione.

Ho una form nel quale l'utente deve digitare dei valori contabili, a due decimali: voglio essere sicuro che non digiti carateri alfabetici, che non digiti due volte la virgola, che non scriva più di due decimali e che, se non scrive decimali, sia la mia Form a completare o correggere il valore: tutto questo, ovviamente per non far andare il pgm in errore quando poi vado a prendere tali dati e vi eseguo sopra delle operazioni.

Sono riuscito (tramite un TextBox_change che controlla i caratteri numerici in ASCII e il valore Punto che vengono inseriti) a evitare che mi si scrivano nella textbox delle lettere, ma non riesco ad imporre tutti gli altri vincoli.

Possibile che non esistano routine già pronte per tutto ciò?

Grazie a tutti
tszik31
Utente Junior
 
Post: 10
Iscritto il: 22/08/06 18:07
Località: Sardegna

Sponsor
 

Re: [Excel] controllo su textbox digitata da utente

Postdi Alexsandra » 22/08/06 19:42

tszik31 ha scritto:Ho una form nel quale l'utente deve digitare dei valori contabili, a due decimali
Invece di mettere tutti quei controlli perchè non formatti il box per i dati che deve accettare.
Non mi ricordo il codice esatto, te lo cerco in qualche file che ho fatto,è una cosa del genere + o -
Codice: Seleziona tutto
TextBox1.Value = Format(TextBox1.Value, "dd/mm/yyyy")
così accetta solo il formato data,prova a vedere se nella guida c'è qualcosa a riguardo della formattazione del box, intanto io vedo di trovarti il codice
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

[Excel] controllo su textbox digitata da utente

Postdi tszik31 » 27/08/06 11:07

Ciao Alexandra, scusami per i ringraziamenti un po' tardivi ma ero fuori.
C'è una cosa che voglio chiederti: per il VBA le textbox son sempre delle stringhe? Mi spiego: ho usato l'istruzione Format(n,"###0.00") come da te suggerito, e funziona solo per quanto riguarda l'esposizione dei dati: se tuttavia li prendo così come sono e li sommo, il VBA mi concatena delle stringhe, con il meraviglioso risultato che puoi immaginare.
Comunque ho risolto, scrivendo un sacco di codice e utilizzando gli eventi Change ed Exit. Quello che mi sarebbe sembrato normale però è una proprietàdel controllo che, se True, avvisasse l'utente del fatto che sta scrivendo dati alfabetici in una textbox che vuole dati numerici. Semplice. E magari esiste pure?
Ciao
tszik31
Utente Junior
 
Post: 10
Iscritto il: 22/08/06 18:07
Località: Sardegna

Postdi Alexsandra » 27/08/06 13:37

dipende da come dichiari la variabile.
cioè se tu dichiari una variabile che riceve il valore dalla textbox com integer e in fondo metti [.value] ti restituisce un valore numerico,questo è un aspetto,ma il tuo problema è quando lo vai a scrivere.
Puoi vederlo a video nei formatio che vuoi,ma nella routine che vai a salvare il valore devi decidere lì come assegnarlo.
Potresti fare una cosa del genere.
In un Select Case scegliere il valore della variabile e se soddisfa le condizioni che hai imposto prosegui nelle istruzioni altrimenti [Exit sub] e riporti il controllo sul box in cui è stato generato l'errore[Textbox1.Setfocus] che potrebbe essere [Textbox(i).Setfocus] così crei una routine unica per valutare le varie Textbox se soddisfano le condizioni vai avanti altrimenti tieni lì l'utente col Focus sul Box errato.

Non so se sono stata chiara e se ti ho dato un'idea su come procedere,eventualmente riposta che ne parliamo meglio.

ciao
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

[Excel] controllo su textbox digitata da utente

Postdi tszik31 » 29/08/06 18:03

Si, sei stata chiara, anche se devo prima provare per vedere quanti altri dubbi mi vengono fuori.
Tradisco la mia inesperienza col VBA confessandoti che, tra le righe, con quel
- textbox(i)
mi hai tolto un altro grosso dubbio, sulla possibilità di operare dinamicamente coi nomi delle variabili.
Grazie :)
tszik31
Utente Junior
 
Post: 10
Iscritto il: 22/08/06 18:07
Località: Sardegna


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] controllo su textbox digitata da utente":


Chi c’è in linea

Visitano il forum: Nessuno e 89 ospiti