Forum di Excel e VBA, per condividere esperienze e risolvere problemi su: Excel, Word, Access, Power Point, Microsoft Office, macro, Visual Basic e Visual Studio.
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?....