Sviluppare funzionalita su Microsoft Office con VBA somma fra orari contenuti in textbox

LoginRegistrati
Stai vedendo 9 articoli - dal 1 a 9 (di 9 totali)
  • Autore
    Articoli
  • #26423 Risposta

    GIACOMO
    Partecipante

      Buongiorni a tutti/tutte, 

      vi chiedo supporto perchè non riesco a risovere un problema. 

      Lavorando con excel 2019 in ambiente vba ho creato un form in cui vi sono 3 textbox in cui inserisco le ore totali svolte (formato hh:mm)

      Per esempio nel textbox1 inserisco: 09:30 - nel textbox2: 13:00 - nel textbox3: 15:00.

      In una label vorrei visualizzare la somma dei 3 valori (in questo esempio 37:30) ma utilizzando la funzione Val per trasformare la stringa la label mi "carica" solo il valore 37 (credo giustamente perchè riconosce solo le cifre prima dei ":"). Che soluzioni potete suggerirmi per farmi caricare il valore orario corretto (37:30)? 

      Grazie in anticipo.

      Label1.caption = Val(Textbox1.value) + Val(Textbox2.value) + Val(Textbox3.value)
      #26436 Risposta
      Marius44
      Marius44
      Moderatore
        21 pts

        Ciao

        Non è affatto semplice.

        Prova a leggere qui: 

        #1 Convertire un orario (hh.mm.ss) in un numero di tipo Double

        ed anche qui:

         https://www.ozgrid.com/forum/index.php?thread/72723-display-time-greater-than-24-hours-in-label/

        Ciao,

        Mario

        #26445 Risposta

        GiuseppeMN
        Partecipante
          4 pts

          Buona sera, GIACOMO;
          consentimi un caro saluto a @marius44.

          Il risultato che trovi in Label1 deve essere utilizzata successivamente come Orario o potrebbe essere semplicemente una stringa 37:30

           

          Buona serata.

          Giuseppe

          #26447 Risposta

          GIACOMO
          Partecipante

            Ciao Giuseppe, in previsione il dato nella label dovrei  trattarlo come orario per calcoli successivi ( es: sottrarre l'orario programmato quotidiano). Inoltre la formattazione che sto cercando di vincolare senza successo per ora, dovrebbe essere del tipo personalizzato "[hh]:mm", perché la formattazione standard "hh:mm" mi azzererebbe il tutto superate le 23:59.

            Grazie per l'interessamento a te ed a @marius44 per i link.

            Giacomo

             

            #26448 Risposta

            GIACOMO
            Partecipante

              Mi è venuto in mente ora che potrei trattare i dati delle TextBox in background senza i ":" (estrapolando poi con le funzioni LEFT e RIGHT le 2 cifre delle hh e mm). 

              Ci provo prossimamente e vi faccio sapere.

              Giacomo.

              #26457 Risposta
              Marius44
              Marius44
              Moderatore
                21 pts

                Salve a tutti

                Credo che sia quello che cerchi.

                Cliccando sul pulsante blu viene mostrata la UserForm che ha:

                3 TextBox e 1 Label  (visibili + una TextBox sotto la Label)

                Inserisci gli orari e vedi come si comporta.

                Fai sapere. Ciao,

                Mario

                Allegati:
                You must be logged in to view attached files.
                #26459 Risposta

                GiuseppeMN
                Partecipante
                  4 pts

                  Buona sera, Giacomo;
                  grazie del tuo riscontro.

                  Un ultima domanda, poi mi taccio, non conosco la struttura del tuo File ma mi chiedo se una soluzione senza VBA non possa risolvere.

                  Vedi File in allegato.

                   P.S. Erroneamente ho allegato 2 File ma sono sostanzialmente uguali.

                  Buona serata.

                  Giuseppe

                  Allegati:
                  You must be logged in to view attached files.
                  #26465 Risposta

                  GIACOMO
                  Partecipante

                    Un saluto a tutti ed un ringraziamento a Mario e Giuseppe.

                    La soluzione che cercavo è proprio quella di Mario e ..... ammetto i miei limiti, ad oggi non vi era ancora giunto. Stavo provando a lavorare sull'evento After_update dei Textbox  analizzando, come anticipato nel precedente post, la strada dell'analisi della stringa nei valori a dx e sx dei ":". La tua soluzione Mario invece mi ha sorpreso, non l'avevo ancora considerata. Livello top. La debbo ancora testare a dovere ma da quello che ho visto fino ad ora funziona perfettamente.

                    Giuseppe, ti ringrazio anche per la tua soluzione, egualmente efficace,  che però gestisce direttamente i valori nelle celle del foglio elettronico ma, nel mio progetto,  sto sviluppando  un interfaccia utente con  un form personalizzato che rappresenta graficamente meglio le mie esigenze (è solo una questione di gusti personali) e  mi permette meglio di gestire il comportamento di chi immette i dati.

                    Grazie veramente a tutti.

                    Giacomo 

                    #26467 Risposta
                    Marius44
                    Marius44
                    Moderatore
                      21 pts

                      Ciao

                      Tieni presente che la macro è da "professionalizzare" (ma puoi benissimo pensarci tu). Forse la quarta TextBox si potrebbe eliminare (ma così mi è venuto - relativamente - più facile il lavoro).

                      Se pensi d'avere risolto, indicalo. Grazie.

                      Ciao,

                      Mario

                    LoginRegistrati
                    Stai vedendo 9 articoli - dal 1 a 9 (di 9 totali)
                    Rispondi a: somma fra orari contenuti in textbox
                    Gli allegati sono permessi solo ad utenti REGISTRATI
                    Le tue informazioni:



                    vecchio frac - 2750 risposte

                    albatros54
                    albatros54 - 1009 risposte

                    patel
                    patel - 908 risposte

                    Marius44
                    Marius44 - 786 risposte

                    Luca73
                    Luca73 - 675 risposte