Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

sintassi: .formulalocal somma in VBA con range variabile

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

sintassi: .formulalocal somma in VBA con range variabile

Postdi marcus69 » 30/04/20 20:16

ciao a tutti,
ho il file nell esempio allegato

nella cella F7 ho la somma della colonna F e vorrei scriverla come formula di somma = somma(f2:f7)
ma non riesco a capire la sintassi in VBA per farlo

ho provato cells ( 7, 6).formulalocal = "=" & (somma( variabile colonna, 2 : variabile colonna , variabile riga )" in in decine di modi, con sintassi diverse, con le & commerciali e senza, concatenando e non....
Nulla non capisco come fargli scrivere la formula. Senza le variabili ovviamente funziona benissimo, o anche se uso solo la variabile di riga ( che è un numero )
ho provato con = somma ( cells (x, y ): cells ( xf, yf), ma mi da errore

= somma( f & "& numerovariabile &" : f finale ) funziona.

ma devo rendere variabile anche la colonna, perché non è sempre la stessa.


http://www.filedropper.com/sommainvba
la riga prima, calcolo il numero della ultima colonna, ma credo che a me serva la lettera.

Non riesco a venirne a capo, qualcuno mi sa dare una dritta per cortesia?

mi serve scrivere la formula, perché una volta scaricati i dati dal database devono essere fatte delle operazioni, e devo vedere come si aggiorna la somma in tempo reale, se faccio la somma durante l'esecuzione del codice ho un dato statico.

ho sempre problemi quando uso i RANGE non ne vengo mai a capo con la sintassi
marcus69
Utente Junior
 
Post: 91
Iscritto il: 19/10/17 14:39

Sponsor
 

Re: sintassi: .formulalocal somma in VBA con range variabile

Postdi Anthony47 » 30/04/20 23:34

Nell'altra discussione si usa l'indirizzamento R1C1, che personalmente io trovo piu' incasinato dell'indirizzamento A1

Tra i tanti possibili metodi, ti faccio questo esempio:
Codice: Seleziona tutto
lriga = 7
maxcol = 6                  '6=F, 7=G, 8=H, etc
For col = 3 To maxcol
    Cells(lriga, col).FormulaLocal = "=Somma(" & Range(Cells(2, col), Cells(lriga - 1, col)).Address & ")"
Next col

Questa mette sulla riga indicata in "lriga =", da colonna C a colonna F, la formula che somma da riga2 a riga lriga-1

Noterai come la formula e' il risultato di 3 spezzoni, due fissi e quello centrale (corrispondente all'intervallo da sommare) che viene calcolato volta per volta.

Spero trovi spunti per la tua situazione

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17003
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: sintassi: .formulalocal somma in VBA con range variabile

Postdi marcus69 » 01/05/20 11:32

altro che spunto... ho risolto

Codice: Seleziona tutto
xx = Range("lettera della colonna che voglio usare come riferimento" & Rows.Count).End(xlUp).Row
yy = Cells( numero della riga che uso per riferimento , Columns.Count).End(xlToLeft).Column

Cells(xx, yy).FormulaLocal = "=Somma(" & Range(Cells(2, yy), Cells(xx - 1, yy)).Address & ")"


e ci faccio quello che devo...

la sintassi del RANGE ancora mi è oscura e quello .Adress in fondo proprio non ci ero arrivato.

Grazie, se oggi riesco a fare certe cose in autonomia è solo perché ho seguito i tuoi consigli e le tue istruzioni
marcus69
Utente Junior
 
Post: 91
Iscritto il: 19/10/17 14:39

Re: sintassi: .formulalocal somma in VBA con range variabile

Postdi marcus69 » 01/05/20 11:34

p.s. con R1C1 nemmeno io mi ci trovo, e mi trovo poco pure con RANGE,
cells ( x,y ) è la mia via favorita
marcus69
Utente Junior
 
Post: 91
Iscritto il: 19/10/17 14:39


Torna a Applicazioni Office Windows


Topic correlati a "sintassi: .formulalocal somma in VBA con range variabile":


Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti