› Excel e gli applicativi Microsoft Office › Trascinare formula prendendo come riferimento ogni tot. di celle (Excel 365)
-
AutoreArticoli
-
Buonasera,
avrei bisogno di capire se è possibile dire alla formula che quando trascina di tenere in conto come riferimento ogni 10 celle, cioè:
Quello che succede di default:
Cella A1: =B2+C6
trascino e nella cella "A2" ci sarà scritto:
Cella A2: =B3+C7
Quello che vorrei che succedesse:
Cella A1: =B2+C6
trascino e nella cella "A2" ci sarà scritto:
Cella A2: =B12+C12
Quindi quando trascino non aggiunge una cella come riferimento, ma 10 (non dev'essere per forza 10, ma anche 5 ecc.)
Ringrazio in anticipo, buona serata
ciao
Quello che vorrei che succedesse:
Cella A1: =B2+C6
trascino e nella cella "A2" ci sarà scritto:
Cella A2: =B12+C12 sarà C16
=SCARTO($B$2;10*RIF.RIGA($A1)-10;0)+SCARTO($C$6;10*RIF.RIGA($A1)-10;0)
=INDIRETTO("B"&RIF.RIGA(A1)*10-8)+INDIRETTO("C"&RIF.RIGA(A1)*10-4)
Oh, sì giusto. E' "C16" e non "C12".
Che io utilizzi una o l'altra (di formula) non cambia, giusto?
Grazie mille
Buona giornata a Tutti;
volendo si potrebbe considerare un codice VBA legato ad un evento "Doppio click"Se lo ritieni utile e opportuno, assieme, possiamo sviluppare l'evento.
Giuseppe
Per quello che sto facendo è molto più "conveniente" la formula Excel, ma sinceramente sarei curioso di capire come potrebbe funzionare con il codice VBA, di conseguenza, se per te non è un problema, possiamo procedere.
PS: io non sono bravo con i codici VBA, ma di solito riesco a capire il meccanismo
Buon pomeriggio Alexandru339;
considerando che:Per quello che sto facendo è molto più "conveniente" la formula Excel ...
Visto che in questo momento, anche se non richiesto, sto cercando di automatizzare la procedura relativa alla Discussione #43193, ormai dichiarata "Risolta" ma che, per mio sfizio, sto crcando di implementare, essendo già in fase di debugging credo potrò dedicarmi al Codice VBA solo settimana prossima.
Giuseppe
ciao
365
non sono bravissimo con le nuove formule ma prova questa
=LET(A;FILTRO(B2:B400;(RESTO(RIF.RIGA(2:400);10)=0+2);0)+FILTRO(C6:C400;(RESTO(RIF.RIGA(6:400);10)=0+6);0);SE(A=0;"";A))
Buona sera Alexandru339;
terminato il debagging mi sono dedicato al codice VBA, ma con scarso successo.
Voglio dire, al momento ho utilizzato un ImputBox per indicare la Riga di destinazione e un secondo ImputBox per indicare la Colonna di destinazione.
Sono consapevole che non è certo il massimo della comodità; molto probabilmente, almeno per il momento, è da preferire la soluzione con Formula.Quello che complica la vita è:
Quindi quando trascino non aggiunge una cella come riferimento, ma 10 (non dev'essere per forza 10, ma anche 5 ecc.)
Buona serata.
Giuseppe
ciao
Giuseppe
basterebbe sostituire il 10 con una cella dove si scrivono gli spostamenti
Ammettiamo che in
B1 = B
C1 = 2
D1 = C
E1 = 6
Ti posizioni in A1 (oppure dove vuoi) e avvii il codiceSub crea_formule() Dim A, B, C, D, X, Val1, Val2, r, cc A = Cells(1, 2) B = Cells(1, 3) C = Cells(1, 4) D = Cells(1, 5) r = ActiveCell.Row cc = ActiveCell.Column Val1 = InputBox("Per quante volte ricopiare", , 0) Val2 = InputBox("Di quanto incrementare? 5.10.15", , 0) For X = 1 To Val1 Cells((r - 1) + X, cc).FormulaLocal = "=" & A & B & "+" & C & D B = B + Val2 D = D + Val2 Next End SubAmmettiamo che in F1 ci sia pure 10,
in A1 =INDIRETTO(B$1&(C$1+((RIF.RIGA()-1)*F$1)))+INDIRETTO(D$1&E$1+((RIF.RIGA()-1)*F$1)) e trascini giù
Buona sera gianfranco55;
è indispensabile sapere se la sequenza 10 per le Righe e 6 per le Colonne sono delle costanti. A questo punto solo Alexandru339, che saluto, può chiarirci in merito.Buona serata.
Giuseppe
-
AutoreArticoli
