+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Convertire i minuti in centesimi da un orario

  1. #1
    Roberto52 non è in linea Scolaretto
    Post
    92

    Convertire i minuti in centesimi da un orario

    Ciao a tutti, avrei bisogno di un aiuto.. devo trasformare i minuti in centesimi da un orario, vi faccio un esempio per farvi capire (speriamo)
    codice:
    OraNormale2 = "09:30"
    OraNormale="07:45"
    If OraNormale2 > "01:15:00" Then
        OraStrRec = OraNormale2 - OraNormale
        n1 = Mid(OraStrRec, 1, 2)
        n2 = Mid(OraStrRec, 4, 2)
        n3 = n2 * 100 / 60             'Converte i minuti in centesimi
        stringa = n1 & ":" & n3
        stringa = Format(stringa, "hh:mm")
        Sheets("Gen-Feb").Range("K" & Y) = stringa   
    end If
    Per convertire i minuti in centesimi ho dovuto estrarre i minuti e calcolare il valore in centesimi (variabile n3).
    Nell'esempio la differenza di orario é 1,45 che dopo la conversione dei minuti trasforma a 1,75... nel momento che il
    risultato lo scrivo su campo in formato ORA 13:30 invece di scrivere 1,75 mi scrive 2,15. Questo penso perché muovo un campo stringa in un campo date... Ma non riesco a risolvere il problema.
    Mi potete aiutare. Vi ringrazio in anticipo

  2. #2
    Marius44 non è in linea Scolaretto
    Luogo
    Catania
    Post
    310
    Ciao
    Prova a dare uno sguardo a questo indirizzo

    Ciao,
    Mario

  3. #3
    Roberto52 non è in linea Scolaretto
    Post
    92
    Quote Originariamente inviato da Marius44 Visualizza il messaggio
    Ciao
    Prova a dare uno sguardo a questo indirizzo

    Ciao,
    Mario
    L'avevo già visto e non mi aiuta. Siccome mi serve solamente i minuti trasformati in centesimi, sono costretto ad estrarre con la funzione MID di excel VBAi, perdendo il formato ORA 13:30.
    Ti ringrazio

  4. #4
    Marius44 non è in linea Scolaretto
    Luogo
    Catania
    Post
    310
    Ciao
    la Funzione MINUTO() dovrebbe fare al caso tuo.
    Ti riporto la Guida di VBA (anche se il titolo è in inglese)

    Funzione Minute

    Restituisce un valore Variant (Integer) che specifica un numero intero compreso tra 0 e 59 inclusi, corrispondente a un minuto dell’ora.

    Sintassi

    Minute(orario)

    L’argomento obbligatorio orario può essere qualsiasi valore Variant, espressione numerica o espressione stringa in una qualsiasi combinazione che rappresenti un orario. Se orario contiene Null, la funzione restituisce Null.

    Spero ti sia d'aiuto. Ciao,
    Mario

  5. #5
    Roberto52 non è in linea Scolaretto
    Post
    92
    Quote Originariamente inviato da Marius44 Visualizza il messaggio
    Ciao
    la Funzione MINUTO() dovrebbe fare al caso tuo.
    Ti riporto la Guida di VBA (anche se il titolo è in inglese)

    Funzione Minute

    Restituisce un valore Variant (Integer) che specifica un numero intero compreso tra 0 e 59 inclusi, corrispondente a un minuto dell’ora.

    Sintassi

    Minute(orario)

    L’argomento obbligatorio orario può essere qualsiasi valore Variant, espressione numerica o espressione stringa in una qualsiasi combinazione che rappresenti un orario. Se orario contiene Null, la funzione restituisce Null.

    Spero ti sia d'aiuto. Ciao,
    Mario
    Ciao, ho provato ma mi restituisce 13/02/1900... se vedi l'esempio iniziale la differenza di entrata dalle 7:45 alle 9:30 é di 1:45. Esempio b3 = Minute("1:45")
    b3 é un campo date e mi restituisce 13/02/1900. Il problema é che per estrarre i minuti e poi ricostruire l'orario perdo il formato Date e non capisco come ricostruirlo.
    Non sò se é chiaro. Comunque ti ringrazio molto

  6. #6
    Marius44 non è in linea Scolaretto
    Luogo
    Catania
    Post
    310
    Ciao
    La cella dove hai provato come è formattata? Sicuramente a data e non a orario.
    Dai, riprova.

    Ciao,
    Mario

  7. #7
    Roberto52 non è in linea Scolaretto
    Post
    92
    Quote Originariamente inviato da Marius44 Visualizza il messaggio
    Ciao
    La cella dove hai provato come è formattata? Sicuramente a data e non a orario.
    Dai, riprova.

    Ciao,
    Mario
    b3 = Minute("1:45") ho definito b3 come variant e mi ha restituito il valore 45 quello che mi aspettavo. La cella é definita come Data , ma tutto avviene in un pannello
    dove ricostruisco gli orari di entrata, uscita, permessi, straordinari, ferie, roll etc etc... questo perché stò aiutando mia moglie per ridurre i tempi di compilazione.

  8. #8
    Marius44 non è in linea Scolaretto
    Luogo
    Catania
    Post
    310
    Ciao
    se la frase
    quello che mi aspettavo
    vuol dire che hai risolto son contento per te.
    Ma la prossima volta ti suggerisco di allegare il file (senza dati sensibili) in modo da poterci lavorare sopra ed essere più puntuali e precisi.

    Ciao,
    Mario

  9. #9
    Roberto52 non è in linea Scolaretto
    Post
    92
    Quote Originariamente inviato da Marius44 Visualizza il messaggio
    Ciao
    se la frase vuol dire che hai risolto son contento per te.
    Ma la prossima volta ti suggerisco di allegare il file (senza dati sensibili) in modo da poterci lavorare sopra ed essere più puntuali e precisi.

    Ciao,
    Mario
    No Mario non ho risolto mi scrive sempre sul file Excel 2:15 mentre mi dovrebbe 1:75... riprovo a dettagliare:
    codice:
          OraStrRec = "1:45"
         ' estr = Minute("1:45")
           var1 = Mid(OraStrRec, 1, 2)
           var2 = Mid(OraStrRec, 4, 2)
           var3 = var2 * 100 / 60             'Converte i minuti in centesimi var3=75
          var4 = var1 & ":" & var3            'var4=1:75
          var4 = Format(var4, "hh:mm")
          Sheets("Gen-Feb").Range("K" & Y) = var4      ' Str. Rec. quando va sul file excel definito come ORA 13:30  mi scrive 2:15
    Non so' se sono stato più chiaro. Comunque non funziona
    Scusami se ti stò facendo perdere tempo.
    Ciao di nuovo grazie

  10. #10
    Marius44 non è in linea Scolaretto
    Luogo
    Catania
    Post
    310
    Ciao
    Dopo aver goduto per la vittoria della Juve, rieccomi.
    Come ho già detto, è sempre meglio allegare un file; se non puoi/vuoi allegare l'originale, creane uno simile (formattazione, formule e VBA) e vediamo di trovare una soluzione.
    Ciao,
    Mario

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi