› Sviluppare funzionalita su Microsoft Office con VBA › formule da celle a Vba
-
AutoreArticoli
-
Ciao a tutti,
nel mio foglio di lavoro ho le formule che elenco sotto, e che vorrei, se possibile e per favore, che siano gestite automaticamente tramite codice VBA. Allego file esempio
Grazie in anticipo a chi vorrà aiutarmi
formule:
=SE(E2="";"";CERCA.VERT(E2;FEE!$A$2:$B$1859;2;0)) in colonna D
=SE(M2="Si";"PAGATO";SE(F2="";"";(F2-$V$2))) in colonna G
=SE(J2="";"";(J2)) in colonna K
=PIÙ.SE(J2="";"";J2>1;"PDR";J2=1;"UNI") in colonna N
=PIÙ.SE(K2="";"";K2=1;"Si";K2>1;"No") in colonna P
Allegati:
You must be logged in to view attached files.Sì, si può fare quello che chiedi e penso che sia la cosa giusta. Ma ci sono dei punti che non capisco. Ad esempio:
1)in colonna "K" stai chiedendo alla formula di riportare il contenuto di "J" che a sua volta è un valore che proviene dalla ComboBox CboNumRate. A che serve duplicare questo valore?
2) Nel pulsante cmdInvia presente nella UserForm1 c'è il codice che ti ho suggerito in discussioni precedenti, e i dati che andranno poi in colonna "P" provengono dal codice e non dalla formula =PIÙ.SE(K2="";"";K2=1;"Si";K2>1;"No") in colonna P.
Come puoi vedere questo è il pezzo di codice utile a far sì che i dati verranno poi trasferiti in colonna "P":
For r = LBound(arr, 1) To UBound(arr, 1) Cells(r + 1, "A").Value = arr(r, 1) Cells(r + 1, "B").Value = arr(r, 2) Cells(r + 1, "C").Value = arr(r, 3) Cells(r + 1, "E").Value = arr(r, 5) Cells(r + 1, "F").Value = arr(r, 6) Cells(r + 1, "H").Value = arr(r, 8) Cells(r + 1, "I").Value = arr(r, 9) Cells(r + 1, "J").Value = arr(r, 10) Cells(r + 1, "L").Value = arr(r, 12) Cells(r + 1, "M").Value = arr(r, 13) Cells(r + 1, "O").Value = arr(r, 15) Cells(r + 1, "P").Value = arr(r, 16) '<----QUI Cells(r + 1, "Q").Value = arr(r, 17) Cells(r + 1, "S").Value = arr(r, 19) Next rma non solo...anche qui (qualche riga di codice più su) non si capisce:
If TxtDirLiber = "S" Then arr(nRows, 16) = "Si" 'P Else arr(nRows, 16) = "No" End IfLa colonna "P" viene manipolata più volte. Secondo me bisogna fare meglio il punto della situazione e capire in ogni colonna qual è il dato che riceverà, in quale forma e da dove proviene.
Spiega meglio tutti i passaggi.
le formule sono di per sè "automatiche", come mai vorresti sostituirle con il vba?
Ciao Luke, vorrei automatizzarle con il vba per non correre il rischio accidentale di cancellarle
ciao,
ok, potresti anche proteggere le celle con formule in modo da evitare la cancellazione accidentale
@frasubb puoi dare risposte alle mie domande nel post #54248
Ad ogni modo hai 3 file identici in 3 discussioni diverse e tutte puntanto a modifiche diverse della stessa macro.
Credo che sia meglio seguire una cosa per volta altrimenti ti ritrovi con modifiche su modifiche.
ok, potresti anche proteggere le celle con formule in modo da evitare la cancellazione accidentale
ciao Luke Si certo, ma se proteggo le celle contenenti le formule, non devo poi bloccare il foglio e quindi a quel punto non mi funzionano più le macro ?
nella macro c'è l'istruzione per toglere il blocco al foglio, poi si esegue quanto serve, infine con un'altra istruzione si ripirstina il blocco. Quindi vero quanto dici la la sub toglie e rimette il blocco
A quale macro ti riferisci ?
a me non sembra di averne con queste istruzioni
-
AutoreArticoli
