Condividi:        

Inserire date con InputBox

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

Inserire date con InputBox

Postdi ricky53 » 24/11/10 09:05

Ciao, devo inserire con due "InputBox" due date. Come faccio a controllare che i dati inseriti siano date. Esiste la possibilità di inserire il formato di ciò che si digita? Ho cercato ma evidentemente, non avendo trovato nulla, non ho cercato bene.

Alby
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Sponsor
 

Re: Inserire date con InputBox

Postdi ricky53 » 24/11/10 09:13

Ciao,
ho trovato solo questo metodo: inserire il valore come numero nel formato "ggmmaaaa" e poi controllare dopo l'inserimento i dati scritti con le funzioni tradizionali.
Vorrei qualcosa di più semplice. per i numrei e le stringhe c'è la possibilità ma per le date non l'ho trovata.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Inserire date con InputBox

Postdi ricky53 » 24/11/10 09:29

Ciao,
al momento utilizzo la seguente modalità:

Codice: Seleziona tutto
Data1 = Application.InputBox(Prompt:="Inserire una data nel formato 'ggmmaaaa'", Title:="Inserimento Dati", Type:=1)


e poi faccio i controlli su quanto è stato inserito, la cosa non mi piace. Vorrei risolvere con meno controlli.

E' possibile ?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Inserire date con InputBox

Postdi maxmula » 24/11/10 10:38

Ciao,
così potrebbe funzionare?

Codice: Seleziona tutto

CHIEDI:
A = InputBox("ggmmaaaa")

GG = CInt(Left(A, 2))
MM = CInt(Mid(A, 3, 2))
AAAA = CInt(Right(A, 4))

D = DateSerial(AAAA, MM, GG)
DATA = Format(D, "ddMMyyyy")

If A <> DATA Then
    MsgBox ("ERRORE!!!! Data non valida")
    GoTo CHIEDI
End If


Comunque, se vuoi "farti una cultura" sulle date in execl, puoi provare a leggere qui:
http://www.cpearson.com/excel/datetime.htm

Ciao,
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Re: Inserire date con InputBox

Postdi ricky53 » 24/11/10 12:45

Ciao, grazie per il tuo intervento e per i controlli che mi hai suggerito.
I controlli su quanto digitato nell’InputBox li avevo inseriti anch'io (diversi dai tuoi ma avevo risolto).

Se posso permettermi e senza offesa, penso di conoscere come Excel memorizzi e gestisca le date e l’orario (il link lo conoscevo ed il sito di Chip Pearson: per me è sempre fonte di soluzioni).

Specifico meglio la mia esigenza:
avevo scritto
Esiste la possibilità di inserire il formato di ciò che si digita?

intendendo chiedere "InputBox" gestisce l'inserimento ed il controllo di una data?

Vedi l'esempio che ho fato con il Type=1 per gestire l'inserimento numerico. Pensavo ci fosse un Type specifico per la data ma non c’è!

Ho proseguito le ricerche ed ho ricavato che non sia possibile fare quello che chiedo … magari qualcuno di voi troverà quello che io non sono riuscito a trovare.

Per il momento vado avanti con quanto ho adottato, che ho riportato sinteticamente senza i controlli, nel mio precedente intervento.

Grazie di nuovo e a ritrovarci nel forum.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Inserire date con InputBox

Postdi Anthony47 » 24/11/10 14:09

Non credo che quello che cerchi esista, quindi lo devi costruire con i controlli sul valore caricato nell' inputbox.
Se invece dell' inputbox usi una form con uno o due textbox il problema e' analogo, ma hai a disposizione gli eventi Change o Exit per controllare durante la digitazione se quello che si digita e' coerente.

Mi chiedo anche se non ti possa bastare la Convalida di excel...

Ciao a tutti
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire date con InputBox

Postdi ricky53 » 24/11/10 14:31

Ciao,
grazie, anche se hai confermato quanto già avevo ricavato.
Mi occorrono due inputbox per chiedere le date di inizio e fine attività e poi fare altre elaborazioni, vorrei avere una gestione il più semplice possibile anche per non mettermi a fare userform ed altro, inoltre, chi lo deve utilizzare vorrei non abbia troppe cose da fare o selezionare visto che non si tratta di utenti molto evoluti. Hanno un pulsante che gli chiede solo due date e poi produce un elenco che viene controllato e stampato.
Grazie a tutti
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Inserire date con InputBox

Postdi Anthony47 » 24/11/10 14:50

Due considerazioni:
1)piu' si vuole semplificare la vita all' utente e piu' deve essere sofisticato il programma; purtroppo per te.
2)detto come l' hai detta, la convalida su foglio mi sembra la cosa piu' semplice:
-in un foglio magari nascosto ti crei le celle con convalida=data; puoi impostare data min e max, magari la seconda correlandola alla prima; puoi mettere un messaggio di input che si presenta come helper quando la cella e selezionata; puoi fare altri controlli con macro di Worksheet_Change; puoi usare le celle adiacenti per messaggi invitanti o minacciosi, e tutte le cose che si puo' fare su un foglio excel.

Ciao
.
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire date con InputBox

Postdi maxmula » 24/11/10 15:35

ricky53 ha scritto:Se posso permettermi e senza offesa (...)


Tranquillo, qui non si offende nessuno!
Come si dice, non si finisce mai d'imparare... se no non verremmo a visitare PC-Facile così spesso! :)
Il tutto, naturalmente, purché la discussione rimanga civile e costruttiva.

Ciao,
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Re: Inserire date con InputBox

Postdi ricky53 » 24/11/10 17:09

Ottimo e perfettamente in sintonia !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Inserire date con InputBox

Postdi ricky53 » 24/11/10 17:15

Ciao Anthony,
terrò presenti le tue considerazioni ed i tuoi consigli.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "Inserire date con InputBox":


Chi c’è in linea

Visitano il forum: Nessuno e 50 ospiti