Tripla somma automatizzata

Salve Forum

In un mio File Excel con 12 Fogli denominati:  GEN  FEB  MAR  APR  MAG  GIU  LUG  AGO  SET  OTT NOV  DIC

ho esigenza che mi apparisse – quando richiamata da un pulsante - una userfor provvista di 4 celle ed un pulsante di chiusura della stessa, così strutturata:

La 1^  cella riservata alla digitazione di un orario con denominazione della cella: “Orario di Ingresso in Ufficio”;

La 2^ cella dovrebbe rendermi l’orario reso dalla 1^ cella sommato ad ore 6:00 con denominazione della cella: “Uscita pausa pranzo”;

La 3^ cella dovrebbe rendermi l’orario reso dalla 2^ cella  sommato a 0:30 minuti con denominazione della cella: “Rientro pausa pranzo”;

La 4^ cella dovrebbe rendermi l’orario reso dalla 3^ cella sommato ad ore 1:12,  con denominazione della cella: “Uscita dall’Ufficio”

Comunico che so solo creare i pulsanti di richiamo della userform, ma che per il resto non sono ancora pronto

Saluto i lettori della presente e, perché no, anche a coloro che risponderanno...

Paolo Nigro

 

Informazioni domanda


Ultimo aggiornamento febbraio 27, 2018 Visualizzazioni 298 Si applica a:
Risposta
<cut>

Ciao,  Paolo

Per la macro, se ho capito, modifica così:

Private Sub CommandButton2_Click()

    Dim lRisposta As Long
    Dim dOra As Date
    Dim dOra1 As Date
    Dim dOra2 As Date
    Dim dOra3 As Date

    With Me
        dOra = CDate(Format(.TextBox1.Text, "hh:mm"))
        dOra1 = DateAdd("h", 6, dOra)
        dOra2 = DateAdd("n", 30, dOra1)
        dOra3 = DateAdd("h", 1, dOra2)
        dOra3 = DateAdd("n", 12, dOra3)
        .TextBox2.Text = Format(dOra1, "hh:mm")
        .TextBox3.Text = Format(dOra2, "hh:mm")
        .TextBox4.Text = Format(dOra3, "hh:mm")
    End With

    lRisposta = MsgBox("Inserire i valori nel mese corrente?", vbYesNo + vbQuestion, "Inserimento dati")
    
    If lRisposta = vbYes Then
        With ActiveCell
            .Value = Me.TextBox1.Text
            .Offset(0, 1).Value = Me.TextBox2.Text
            .Offset(0, 2).Value = Me.TextBox3.Text
            .Offset(0, 3).Value = Me.TextBox4.Text
        End With
    End If

 
End Sub

Per la sequenza delle TextBox, le TextBox hanno la proprietà TabIndex. Setta a 0 quella di TextBox1, a 1 quella di TextBox2, a 2 Quella di TextBox3, a 3 quella di TextBox4. E utilizza TAB e non Invio.

--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

Il problema è stato risolto?

Siamo spiacenti che questo non sia stato d'aiuto.

Fantastico! Grazie per aver scelto questa risposta.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento, ci aiuta a migliorare il sito.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento.