Somma di 20 textbox



  • Somma di 20 textbox
    di iTavix (utente non iscritto) data: 22/11/2016 10:20:47

    Ciao, volevo snellire il codice in una UserForm che somma il valore presente in 20 textbox, al momento infatti ottengo la somma delle textbox in un'altra textbox utilizzando l'evento Change di tutte le text interessate, ma così facendo per ognuna di esse devo riportare TextBox87 = CDbl(TextBox112) + CDbl(TextBox89) + CDbl(TextBox90) + CDbl(TextBox91) + CDbl(TextBox92) + CDbl(TextBox93) + CDbl(TextBox94) + CDbl(TextBox95) + CDbl(TextBox96) + CDbl(TextBox97) + CDbl(TextBox98) + CDbl(TextBox99) + CDbl(TextBox100) + CDbl(TextBox101) + CDbl(TextBox102) + CDbl(TextBox103) + CDbl(TextBox104) + CDbl(TextBox105) + CDbl(TextBox106) + CDbl(TextBox107) + CDbl(TextBox108) + CDbl(TextBox109) + CDbl(TextBox110) + CDbl(TextBox111), sono sicuro che è possibile evitarlo ma io non so proprio come procedere...spero che qualcuno possa aiutarmi...grazie a chiunque voglia darmi una mano...



  • di Gianfranco data: 22/11/2016 10:33:32

    ciao
    ultimamente non è che usi molto il vba ma dovrebbe bastare

    spero non aver scritto
    una baggianata

     
    Private Sub calcolo()
     Dim i As Integer
     somma = 0
     For i = 89 To 112
     On Error Resume Next
     somma = somma + Controls("textbox" & i).Value
     Next i
     TextBox87.Value = Somma
     End Sub
    
    


  • Somma di 20 textbox
    di iTavix (utente non iscritto) data: 22/11/2016 10:39:19

    Ciao e grazie per l'interessamento, la soluzione che mi hai proposto come dovrei applicarla?...io avrei voluto che la Textbox "somma" si aggiornasse in automatico per ogni inserimento nelle text di riferimento, mi sembra di capire, ma potrei sbagliare, che quanto mi proponi debba associarlo ad un CommanButton?..se così fosse non sarebbe l'ideale, ma potrei avere dedotto male, potrtesti essere più esaustivo?..grazie ancora



  • di Gianfranco data: 22/11/2016 11:27:31

    ciao

    la puoi lanciare all'evento change o exit
    di ogni textbox

    call.....macro



  • Somma di 20 textbox
    di iTavix (utente non iscritto) data: 22/11/2016 11:31:05

    Ciao,
    ok, ci ero arrivato...e così è più snello come codice?..ho un problema a far girarlo su un pc con appena 2 Gb di ram..comunque grazie provo e faccio sapere....



  • di Gianfranco data: 22/11/2016 11:34:54

    ti ho allegato l'esempio semplificato

    comunque è tutto relativo

    anche se scrivi la somma come il tuo codice
    la scrivi una volta sola


  • Somma di 20 textbox
    di iTavix (utente non iscritto) data: 22/11/2016 11:52:23

    Ciao, purtroppo sul pc da 2Gb continua a darmi errore irriparabile..memoria esurita...di sicuro comunque con il tuo suggerimento scrivo meno...grazie! il mio codice "fatto in casa" ha diverse ripetizioni e dovrei ottimizzarlo tutto...in questo senso, se non chiedo troppo ho anche questa sub che poi è connessa anche lei con la somma delle text che ripeto per ogni combobox che vorrei riuscire a snellire...suggerimenti?:
    Private Sub ComboBox2_Change()
    Dim i As Integer
    Dim uriga As Long
    Dim wks As Worksheet
    Set wks = ThisWorkbook.Worksheets("Foglio1")
    uriga = wks.Range("A" & Rows.Count).End(xlUp).Row

    For i = 1 To uriga
    If wks.Range("A" & i) = ComboBox2 Then
    TextBox2 = wks.Range("B" & i)
    End If
    Next
    If ComboBox2 <> "" Then TextBox112 = 1
    Call calcolo
    End Sub
    la ripeto dalla combo 2 alla 23!! posso fare di meglio?....