Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

minuti in textbox di userform

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

minuti in textbox di userform

Postdi wallace&gromit » 07/02/17 10:09

Ciao,
avrei l'esigenza di mostrare i minuti che scorrono in una textbox.
Il formato dovrebbe essere quello che in una cella si inserirebbe come "[mm]:ss", cioè che allo scoccare dell'ora i minuti continuano oltre il 60.

Ora, non solo non riesco a introdurre il formato come descritto, ma addirittura se inserisco solo "mm:ss" la parte mm viene interpretata come mese e non come minuti, cosa che invece funziona se inserisco "hh:mm:ss".

Come posso uscirne?

Qui un esempio:
http://www.filedropper.com/macrocronometroinuserformscaricata
Office2016 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2045
Iscritto il: 16/01/12 14:21

Sponsor
 

Re: minuti in textbox di userform

Postdi ricky53 » 07/02/17 12:21

Ciao,
far andare i minuti oltre i 60 ... Uhm Uhm

Per il momento cambia
Codice: Seleziona tutto
Label4.Caption = Format(Now, "mm:ss")]

con [code]Label4.Caption = Right(Format(Now, "hh:mm:ss"), 5)


in questo modo NON vedi più il mese.
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4526
Iscritto il: 11/04/09 19:29
Località: Italia

Re: minuti in textbox di userform

Postdi ricky53 » 07/02/17 13:41

Trovata soluzione !!!

Adesso devo andare a pranzo a dopo.
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4526
Iscritto il: 11/04/09 19:29
Località: Italia

Re: minuti in textbox di userform

Postdi ricky53 » 07/02/17 14:39

Ciao,
pranzo terminato.
Veniamo a noi:

1 definisci le due variabili "Inizio" e "Fine"
Codice: Seleziona tutto
Public m As Integer, Inizio As Double, Fine As Double

2. inserisci
Codice: Seleziona tutto
Private Sub ToggleButton1_Click()
    Inizio = Timer
End Sub

3. modifica in
"Private Sub ToggleButton2_Click()"
Codice: Seleziona tutto
        If ToggleButton1.Value Then
            Label2.Caption = Timer / 24 / 60 / 60
        Else
            Label2.Caption = "Select ToggleButton1 to show Timer value"
        End If


in
Codice: Seleziona tutto
        If ToggleButton1.Value Then
            Fine = Timer - Inizio
            Label2.Caption = Format(Int(Fine / 60) + 59, "0") & ":" & Format(Fine - Int(Fine / 60) * 60, "00")
' Ho aggiunto 59 per farti fare le prove di superamento  "60" poi va tolto !!!!
        Else
            Label2.Caption = "Select ToggleButton1 to show Timer value"
        End If


Io ho provato per 3 minuti (con il + 59) poi ho chiuso.

Prova e sentiamoci.
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4526
Iscritto il: 11/04/09 19:29
Località: Italia

Re: minuti in textbox di userform

Postdi wallace&gromit » 07/02/17 16:10

come si dice al cinema: buona la prima!

sfrutto la tua prima idea e, lavorando sulla scomposizione del testo, mi basta essere sicuro che dove ho i minuti ho anche le ore e ricalcolo il tutto moltiplicando le ore per 60, ecco quindi il risultato per la label4:
Codice: Seleziona tutto
        Label4.Caption = (Val(Format(Now, "hh")) * 60 + Val(Right(Format(Now, "hh:mm"), 2))) & Right(Format(Now, "hh:mm:ss"), 3)

Poi, giustamente, per avere un incremento differenziale e non assoluto sul giorno, faccio come descrivi tu con le variabili di inizio e fine.
Office2016 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2045
Iscritto il: 16/01/12 14:21

Re: minuti in textbox di userform

Postdi ricky53 » 07/02/17 17:00

Ciao,
la mia prima NON risolve il problema del dopo "60". Inoltre non è un cronometro ma un "orario" con solo minuti e secondi.

La tua formula non mi convince.
Veramente non l'ho capita ... l'ora (calo di zuccheri) e l'età (qui non ci posso fare nulla).

Però se ti occorre un cronometro non va bene.
Quanto ti ho proposto con l'utilizzo di "Timer" ti fa proprio da cronometro.
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4526
Iscritto il: 11/04/09 19:29
Località: Italia

Re: minuti in textbox di userform

Postdi Anthony47 » 08/02/17 03:29

Non ho capito se possono tornare comode queste formule che io uso per ottenere da una data+ora presente in A10 rispettivamente le ore, minuti, secondi:
Codice: Seleziona tutto
=INT(A10*24)

Codice: Seleziona tutto
=INT(RESTO(A10*24;1)*60)

Codice: Seleziona tutto
=INT(RESTO(A10*60*24;1)*60)

Facilmente adattabili al vba

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

Re: minuti in textbox di userform

Postdi wallace&gromit » 09/02/17 17:45

Ciao e grazie ad entrambi per i consigli, ma tutto quanto sta a monte di quest'ultimo passaggio lo gestisco già (nelle prove ho usato "now" per avere un valore sicuramente di varie ore, ma nel caso effettivo uso Timer).
La domanda verteva proprio sull'aspetto estetico finale della text box.
Nel caso in cui dovesse marcarmi 1 minuto e 5 secondi deve mostrarmi 01:05 (quindi le soluzioni di Anthony vanno comunque adattate, perché così mi darebbero 1:5), mentre quando il valore è 1 ora 5 minuti e 5 secondi voglio vedere: 65:05.

Con la mia formulazione questo funziona egregiamente (sarebbe stato tutto più rapido se vba avesse previsto l'equivalente del formato [mm] per i minuti oltre l'ora, come esiste nelle formule, ma tant'è...).
Office2016 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2045
Iscritto il: 16/01/12 14:21

Re: minuti in textbox di userform

Postdi ricky53 » 10/02/17 00:31

Ciao W&G,
probabilmente ti sei perso il mio intervento del giorno 07/02/17 alle ore 14:39

Leggilo e provalo.
Vedrai che otterrai proprio quello che hai scritto.

Ho utilizzato un artificio (l'ho scritto nel codice) per farti arrivare subito a superare i 60 minuti !!!
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4526
Iscritto il: 11/04/09 19:29
Località: Italia

Re: minuti in textbox di userform

Postdi Anthony47 » 10/02/17 01:26

Non perdere il messaggio di Ricky, sopra.

Tanto per distribuire formule inutili, se vuoi ottenere 84m da 1h24m (posizionato in A10) puoi usare la formula
Codice: Seleziona tutto
=INT(RESTO(A10*24;60)*60)


Se vuoi ottenere sempre 2 digit, tipo "04" allora nidificherai dentro Testo:
Codice: Seleziona tutto
=TESTO(INT(RESTO(A10*24;60)*60);"00")


Cosi', per arrivare a carnevale...
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17446
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "minuti in textbox di userform":


Chi c’è in linea

Visitano il forum: Nessuno e 23 ospiti