problema con pulsante



  • problema con pulsante
    di andrea (utente non iscritto) data: 11/10/2012 20:02:37

    buona sera a tutti, ho un piccolo problema con un pulsante non riesco a fargli ripetere la stesa operazione

    come posso risolvere?
     
    Sub acqua_cl_50()
        Cells(3, 10).Value = "ACQUA_CL_50"
        Cells(3, 11).Value = 1
        Cells(3, 12).Value = 1
        If Cells(3, 12).Value > 0 Then
           Cells(3, 12).Interior.ColorIndex = 6
        End If
    End Sub



  • di Vecchio Frac data: 11/10/2012 20:14:59

    Puoi essere più preciso?
    Se al pulsante è associato il codice che hai postato, il codice verrà eseguito una volta soltanto, ad ogni clic sul pulsante, ed è un comportamento normale.
    Ti faccio notare incidentalmente che l'If verrà seguito sempre e comunque, perchè la riga sopra tu imposti sempre e comunque un risultato che rende vera la condizione dell'If, e ciò rende inutile l'If (la cella L3 viene settata a 1, e la successiva istruzione dice che se L3 è > 0 allora ... , cosa che è evidentemente sempre vera).





  • di andrea (utente non iscritto) data: 11/10/2012 20:19:31

    mi spiego meglio se il nelle celle ho i valori che sono usciti dal primo clik con il secondo clik vorrei moltiplicare il valore gia esistente x 1

    ora mi sono spiegato meglio



  • di Vecchio Frac data: 11/10/2012 20:23:58

    Sì, ti sei spiegato ma ragiona: se moltiplichi un valore esistente per 1 ottieni lo stesso risultato di prima :)
    Comunque adesso ha un senso anche quell'If che prima non aveva.

    Ecco la modifica che devi fare:
    Cells(3, 11).Value = Cells(3, 11).Value * 3
    Cells(3, 12).Value = Cells(3, 12).Value * 5

    Dove naturalmente 3 e 5 li ho messi io a caso... metti tu i valori corretti (risultato della moltiplicazione del valore precedente per un coefficiente da te stabilito).





  • di andrea (utente non iscritto) data: 11/10/2012 20:40:16

    scusami ma non mi da nulla, mi rispiego se premo il pulsante mi da come valore 1 se lo ripremo la seconda volta mi deve dare come valore 2 , più volte po premo e più mi deve aumentare di un numero
     
    Sub acqua_cl_50()
        Cells(3, 10).Value = "ACQUA_CL_50"
        Cells(3, 11).Value = 1
        Cells(3, 12).Value = 1
        Cells(3, 12).Interior.ColorIndex = 6
        If Cells(3, 12).Value > 0 Then
           Cells(3, 12).Value = Cells(3, 12).Value * 1
        End If
    End Sub



  • di Vecchio Frac data: 11/10/2012 21:04:07

    Ma la modifica l'hai fatta nel posto sbagliato!!
    Un po' di logica, e capire quel che si scrive, è il minimo sindacale :)
    Ti riporto il codice integrale.

     
    Sub acqua_cl_50()
        Cells(3, 10).Value = "ACQUA_CL_50"
        Cells(3, 11).Value = Cells(3, 11).Value + 1
        Cells(3, 12).Value = Cells(3, 12).Value + 1
        Cells(3, 12).Interior.ColorIndex = 6
        If Cells(3, 12).Value > 0 Then
           Cells(3, 12).Interior.ColorIndex = 6
        End If
    End Sub






  • di andrea (utente non iscritto) data: 11/10/2012 21:43:46

    grazie mille e scusami tanto ma nn sono molto ferrato in questo campo sto imparada solo da 3 giorni



  • di Vecchio Frac data: 11/10/2012 22:22:25

    Se è così allora ti esorto a continuare a provare... e miglioriamo un pochino il codice.
    Dimmi se scritto così ti sembra più leggibile, e più comprensibile.


     
    Sub acqua_cl_50()
        [J3] = "ACQUA_CL_50"
        [K3] = [K3] + 1
        [L3] = [L3] + 1
        If [L3] > 0 Then [L3].Interior.ColorIndex = 6
    End Sub