CALCOLO TRA TEXTBOX



  • CALCOLO TRA TEXTBOX
    di Roby (utente non iscritto) data: 04/04/2014 21:31:26

    Buongiorno, in un form con 4 textbox vorrei inserire nei primi due textbox due cifre e ottenere: nel terzo, il prodotto della prima cifra inserita per un numero fisso (ad es 14), mentre nel quarto textbox la somma delle due cifre inserire. I textbox tre e quattro dovrebbero aggiornarsi automaticamente con l'inserimento delle cifre.
    Grazie anticipatamente.


  • Macro per ripetere stessa selezione riga
    di giovy15 (utente non iscritto) data: 04/04/2014 21:37:01

    Ciao a tutti, sto cercando di fare una macro che esegua un’operazione all’apparenza banale, ma non riesco a venirne fuori! Premetto che la mia conoscenza di VBA è praticamente pari a zero e le macro che riesco a fare sono solo quelle a compilazione automatica!
    Ciò che vorrei ottenere è di copiare il contenuto della stessa serie di celle disposte su una riga e incollarlo su una riga diversa ogni volta che eseguo la macro. Ho provato attivando i riferimenti relativi ma all’esecuzione della macro, oltre a rendere dinamica la cella di destinazione si sposta anche il riferimento delle celle di origine, e questo non lo deve fare.
    Esempio: devo copiare "A1:J1" e incollare in A10, poi alla successiva esecuzione copiare "A1:J1" e incollare in A11 e così via.
    Allego l'esempio che ho registrato e che non va bene, così mi copia la selezione 10 righe più in basso, alla prima esecuzione ok perché non voglio che mi copia subito sotto alle celle selezionate, ma alle successive esecuzioni deve inserire la selezione copiata nelle righe subito successive e no n+10 (ma n+1)! Inoltre così mi si sposta anche la selezione d’origine di 10 righe più sotto!
    Mi scuso per la mia ignoranza, spero che qualcuno mi possa aiutare. Grazie.

     
    Sub Macro5()
        ActiveCell.Range("A1:J1").Select
        Selection.Copy
        ActiveCell.Offset(10, 0).Range("A1").Select
        ActiveSheet.Paste
    End Sub
    



  • di toty (utente non iscritto) data: 04/04/2014 21:45:48

    @Roby
    cos'è il tuo un compito per casa?
    posta i-l file con tutto il necessario se vuoi un aiuto.

    @ giovy
    dovresti aprire una nuova discussione, sei entrato in una discussione già aperta



  • di Roby (utente non iscritto) data: 04/04/2014 22:25:45

    Nella domanda di prima ho semplificato quello che vorrei ottenere visto che il programma che sto cercando di fare è molto più complicato.
    Dunque sotto riporto il codice ma non so se riesce a capire+
    Funziona in parte, ad esempio se inserisco i dati e poi li cambio non si aggiornano le textbox dove contengono i risultati.
    Grazie e scusate ancora se non sono stato chiaro.
     
    Private Sub UserForm_Activate()
    UserForm1.ComboBox1.RowSource = "A1:A2"
    With form1
     If UserForm1.ComboBox1.Value = 3 Then
                 TextBox5.Text = Val(TextBox4.Value) - Val(TextBox3.Value) * 0.8 / 100
                 Else
                 TextBox5 = Val(TextBox4.Value) - Val(TextBox3.Value) * 1.6 / 100
        End If
         TextBox5 = Format(TextBox5, "#,##0.00")
       End With
     End Sub
    
    Private Sub TextBox1_Change()
    TextBox3.Text = Val(TextBox1.Value) * 14
    TextBox4.Text = Val(TextBox3.Value) * 80 / 100
    TextBox3 = Format(TextBox3, "#,##0.00")
    TextBox4 = Format(TextBox4, "#,##0.00")
          With form1
     If UserForm1.ComboBox1.Value = 3 Then
                 TextBox5.Text = Val(TextBox4.Value) - Val(TextBox3.Value) * 0.8 / 100
                 Else
                 TextBox5 = Val(TextBox4.Value) - Val(TextBox3.Value) * 1.6 / 100
        End If
         TextBox5 = Format(TextBox5, "#,##0.00")
        TextBox11 = Format(TextBox11, "#,##0.00")
        End With
        End Sub
    Private Sub TextBox2_Change()
       If TextBox1.Text <> "" Then
            TextBox3.Text = Val(TextBox1.Value) * 14 + Val(TextBox2.Value)
            Else
            TextBox3.Text = Val(TextBox2.Value)
        End If
         TextBox4.Text = Val(TextBox3.Value) * 80 / 100
         TextBox3 = Format(TextBox3, "#,##0.00")
         TextBox4 = Format(TextBox4, "#,##0.00")
         With form1
     If UserForm1.ComboBox1.Value = 3 Then
                 TextBox5.Text = Val(TextBox4.Value) - Val(TextBox3.Value) * 0.8 / 100
                 Else
                 TextBox5 = Val(TextBox4.Value) - Val(TextBox3.Value) * 1.6 / 100
        End If
         TextBox11.Text = Val(TextBox5.Value) / Val(TextBox1.Value)
         TextBox5 = Format(TextBox5, "#,##0.00")
        TextBox11 = Format(TextBox11, "#,##0.00")
        End With
       
       
       End Sub
    
    Private Sub ComboBox1_Change()
     If UserForm1.ComboBox1.Value = 3 Then
                 TextBox5.Text = Val(TextBox4.Value) - Val(TextBox3.Value) * 0.8 / 100
                 Else
                 TextBox5 = Val(TextBox4.Value) - Val(TextBox3.Value) * 1.6 / 100
        End If
        TextBox11.Text = Val(TextBox5.Value) / Val(TextBox1.Value)
     
    End Sub
    
    
    Private Sub UserForm_Click()
    
    End Sub



  • di lepat (utente non iscritto) data: 04/04/2014 22:53:32

    non è possibile testare il codice senza disporre del file



  • di Roby (utente non iscritto) data: 04/04/2014 23:27:36

    immaginavo ma non riesco ad inviarlo per i dati sensibili, farò un'esemplificazione del file per poterlo allegare. Grazie



  • di Roby (utente non iscritto) data: 04/04/2014 23:36:28

    ad esempio ho trovato questo in rete ma non funziona, praticamente inserendo due valori uno in texbox1 e l'altro in texbox2 in textbox3 ho il risultato della somma, che è quello che vorrei ottenere.
     
    Dim result As Double
    Private Sub TextBox1_Change()
    Dim txtBoxTwo As Variant
    Me.TextBox2.SetFocus
    txtBoxTwo = Me.TextBox2.Text
    result = txtBoxTwo + Me.TextBox1.Text
    Me.TextBox3.SetFocus
    Me.TextBox3 = result
    End Sub



  • di lepat (utente non iscritto) data: 05/04/2014 05:17:39

    i textbox contengono testo, per fare somme occorre trastormare il testo in numero, sommare e poi riconvertire in testo, quindi
     
    result = val(TextBox1) +val(TextBox2)
    TextBox3 = result
    



  • di Roby (utente non iscritto) data: 07/04/2014 08:55:27

    Grazie (LEPAT) ho risolto così, se il codice non è completo sono graditi suggerimenti.
     
    Dim result As Double
    Private Sub TextBox1_Change()
    result = Val(TextBox1) + Val(TextBox2)
    TextBox3 = result
    End Sub
    Private Sub TextBox2_Change()
    result = Val(TextBox1) + Val(TextBox2)
    TextBox3 = result
    End Sub



  • di Roby (utente non iscritto) data: 07/04/2014 09:02:21

    scusate ho dimenticato di inserire la spunta


  • fusione tra quesiti?
    di BARNACLE64 (utente non iscritto) data: 08/04/2014 11:48:44

    Spett.le Forum, è possibile che nel presente quesito sia stato erroneamente incluso un diverso quesito con un diverso titolo e un diverso utente (Macro per ripetere stessa selezione riga di giovy15) ? Il presente quesito tra l'altro disponeva in allegato di un file che già da ieri sera non c'era più (pur essendo entro le 48 ore, mi sembra). Cordialmente.