Risolto Trascrivere data da CalendarForm in TextBox

meaglem

Nuovo utente
8 Ottobre 2019
7
1
excel 2016
0
Ciao a tutti.
Dopo ore e ore di tentativi, mi arrendo e chiedo aiuto! :piango:

Premetto che è il mio primo codice. E premetto anche che non mi interessa molto fare una cosa professionale, ma solo per uso domestico.
Allora...
Ho scaricato da internet un CalendarForm già precompilato e vorrei implementarlo con il mio userform.
1- Come faccio a integrarlo direttamente con il mio userbox? (facoltativo)
2- Vorrei trascrivere la data che scelgo nel CalendarForm all'interno di un textbox, così poi la trascrivo nei "fogli" insieme agli altri textbox che ho.
 

Allegati

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
19.319
713
66
Napoli
2013
356
meaglem @meaglem

In tutta sincerità ma pensi che ci possa essere qualcuno che si metta a studiare tutto quel codice che è dietro il calendario che hai scaricato solo per capire dove intervenire per effettuare la modifica che interessa a te?

Tu sei in grado di individuarlo?

Se questo è il tuo primo codice perchè non ti "accontenti" di inserire una data in modo più semplice attraverso ad esempio con tre combobox una per i giorni una per i mesi ed una per l'anno?

Perchè pensare di poter correre quando si sa appena "gattonare"?
 

meaglem

Nuovo utente
8 Ottobre 2019
7
1
excel 2016
0
Perchè pensavo che voi da esperti avreste saputo subito quale è la variabile di uscita del codice. Dove l'ho scaricato l'ho consideravano standard, quindi....
No vabbè, ci avevo già pensato alle combobox, ma se fosse stato facile avrei preferito un bel calendario!

Non volevo gattonare perché mi fanno male le ginocchia 😏
 

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
19.319
713
66
Napoli
2013
356
Perchè pensavo che voi da esperti avreste saputo subito quale è la variabile di uscita del codice
Beh non è proprio così; anche se si è esperti (ammesso che lo si sia) il codice va sempre letto per capire e se questo è lungo centinaia di istruzioni..........

Ed il fatto che se sinora nessuno (a parte me) è intervenuto in questa discussione vorrà pur dire qualcosa.

Dove l'ho scaricato l'ho consideravano standard, quindi....
In VBA (come in tutti i linguaggi di programmazione) non esistono standard; le cose si possono fare in molti modi diversi.

Quindi per il momento "accontentati" delle tre combo poi, quando sarai diventato un po' più esperto potrai riprendere in mano il tuo calendario.
 

giulianovac

Access/VBA Expert
Expert
9 Giugno 2018
2.233
83
Italy
2013 2019
166
meaglem @meaglem
Guarda nella sezione LAVORI .
Troverai calendari che implementano entrambi i punti da te richiesti.
 

meaglem

Nuovo utente
8 Ottobre 2019
7
1
excel 2016
0
Grazie a tutti, ho tolto il calendario complesso e sto cercando di scrivere la data attraverso una combobox o una textbox (anche se per ora dovrei convertirla in data "italiana"). Ma ci provo e poi casomai chiedo, nel frattempo do un occhio a "lavori"
 

dracoscrigno

CioccaPiatti & VBA Expert
Expert
1 Maggio 2016
3.904
63
office pro 2010
49
Nel tuo listato c'è quest' istruzione:


Visual Basic:
Private Sub Frame1_Click()
CalendarForm.GetDate
TextBox2.value = GetDate
End Sub
E' qui l' errore.

L' istruzione deve essere:

Assegna, alla textbox, il risultato della funzione denominata GetDate dell' oggetto CalendarForm

quindi:


Visual Basic:
Private Sub Frame1_Click()
    TextBox2.value = CalendarForm.GetDate
End Sub

Ho notato che il listato è molto disordinato e che, l azione di cliccare sul frame per poi scrivere nella textbox, genera qualche altro evento ma non ho tempo di star li a guardare oltre... è tardissimo e devo svegliarmi presto...

Ti consiglio di:

cancella TUTTO il listato... TUTTO intendo..

Poi, della textbox in cui vuoi la data inserisci solo quanto segue:


Visual Basic:
Private Sub TextBox2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    TextBox2.value = CalendarForm.GetDate
    'TextBox2.value = Format(CalendarForm.GetDate, "dd mmmm yyyy")
End Sub

l' istruzione commentata, è quella ALTERNATIVA a quella non commentata, per avere una VISUALIZZAZIONE differente della data.. naturalmente, la stringa_formato "dd mmmm yyyy" è SOLO uno dei MOLTEPLICI esempi per poter visualzizare una data.
...


P.s.
Tieni questo tuo di calendario che è molto ben fatto ;)



Rieditando...
Dimenticavo...

Per inserire la data, con TUTTO quello che hai scritto dentro il form CANCELALTO e con SOLO il listatino che ti ho mostrato sopra, in esso trascritto, devi SOLO cliccare DENTRO la textbox con il mouse ed il calendario se ne esce di tutto punto dandoti la possibilità di selezionare una data...
 

meaglem

Nuovo utente
8 Ottobre 2019
7
1
excel 2016
0
dracoscrigno @dracoscrigno GRAZIE!!
Ora, dopo la modifica, è esattamente come voglio io!
(Ho sofferto molto perché non capivo come inserire il Cdate, ma adesso è tutto ok!)

Lo condivido, anche se è un codice sicuramente molto sporco e poco professionale!

P.S. adesso mi impegnerò a capire come trascrivere in un unica cella di excel le ore in decimali a partire da due textbox, una in ore e l'altra in minuti (in 60esimi)👍
 

Allegati

dracoscrigno

CioccaPiatti & VBA Expert
Expert
1 Maggio 2016
3.904
63
office pro 2010
49
meaglem @meaglem

se hai risolto, sarebbe opportuno che segnassi questo topic ocme RISOLTO... nei messaggi dello staf trovi come fare...
Per la condivisione, pur essendotene grato, credo sia opportuno che descrivi anche un link alla fonte dove hai trovato il calendario.

Chi lo ha implementato, lo ha fatto anche con la speranza che chi lo usa, gle ne sia grato ;)

citazione dalle prime righe del listato:


Visual Basic:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' CalendarForm
' Developed by Trevor Eyre
' trevoreyre@gmail.com
' v1.5.2 - 1.7.2016
'
' This custom date picker can be used by importing the CalendarForm.frm file into
' your VBA project. It is called exclusively through the GetDate function. For
' instructions on how to call on the CalendarForm, skip to the GetDate function
' documentation after the Global Variables section.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Contributors
'
' Graham Mayor, graham@gmayor.com, www.gmayor.com
'   -Fix for userform sizing incorrectly in Word 2013
'
' Greg Maxey, gmaxey@mvps.org, gregmaxey.mvps.org/word_tips.htm
'   -Fix for leap year bug on years divisible by 100
'   -Moved all initialization code to separate sub to simplify GetDate function
'   -Various code reorganization and optimizations
'
' Marc Meketon, marc.meketon@gmail.com
'   -Fully qualify "Control" declarations as "MSForms.Control" for compatibility
'       with Access
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Overview
'
' The goal in creating this form was first and foremost to overcome the monstrosity that
' is the Microsoft MonthView control. If you're reading this, you probably already know
' what I'm talking about. Many others have been in my place and have come up with their
' own date pickers to solve this problem. So why yet another custom date picker?
'
' I was most interested in the following features:
'   -Ease of use. I wanted a completely self-contained form that could be imported into
'       any VBA project and used without any additional coding.
'   -Simple, attractive design. While a lot of custom date pickers on the internet look
'       good and work well, none of them quite nailed it for me in terms of style and
'       UI design.
'   -Fully customizable functionality and look. I tried to include as many of the
'       options from the MonthView control as I could, without getting too messy.
'
' Since none of the date pickers I have been able to find in all my searching have quite
' completed my checklist, here we are! Now my hope is that some other tired soul may
' also benefit from my labors.
'
' If you encounter any bugs, or have any great ideas or feature requests that could
' improve this bad boy, please send me an email.
'
' What's new in v1.5.2:
'   -Bug fix: Userform not sizing properly in Word 2013
'   -Bug fix: Minimum font size not being preserved correctly
'   -Bug fix: Replaced WorksheetFunction.Max with custom Max function for compatibility
'       with other Office programs
'
' (For a full changelog, known bugs, and future enhancements, scroll to the bottom)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Ammetto una nota di rammarico per aver pensato di aver scoperto l' acqua calda ben cinque anni dopo chi mi ha preceduto ... UN ottimo lavoro.
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!