Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[VBA] come effettuare una somma

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

[VBA] come effettuare una somma

Postdi yield.pm » 21/05/11 16:56

Ciao a tutti.... ho questo codice
Dim Prova() as double
ReDim Prova(100)

for i=1 to 100
Prova(i)= calcolo
next i

ed ottengo i valori Prova da 1 a 100

Adesso se voglio sommare i valori Prova da 1 a 100 come diavolo si fa?

Ho provato cosi:
Application.Sum(Range(Prova(1), Prova(100)))
Application.WorksheetFunction.Sum(Range(Prova(1), Prova(100)))
Sum(Range(Prova(1), Prova(100)))
Application.Sum(Range(Prova(1), Prova(100)))

ma ottengo sempre valori errati oppure la macro va errore....

Grazie, saluti
yield.pm
Utente Junior
 
Post: 45
Iscritto il: 21/11/10 19:55

Sponsor
 

Re: [VBA] come effettuare una somma

Postdi Avatar3 » 21/05/11 17:09

Codice: Seleziona tutto
Somma = 0
for i=1 to 100
Prova(i)= calcolo
Somma = Somma + Prova(i)
next i


Ciao
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [VBA] come effettuare una somma

Postdi yield.pm » 21/05/11 17:22

Grazie Avatar, ma non esiste un modo per sommare tutto il range direttamente?
yield.pm
Utente Junior
 
Post: 45
Iscritto il: 21/11/10 19:55

Re: [VBA] come effettuare una somma

Postdi Avatar3 » 21/05/11 23:24

Dall'esempio riportato da te si evince che "calcolo" è uguale per tutti i vettori Prova(1) da 1 a 100

quindi puoi benissimo fare
somma = calcolo * 100

Oppure non hai chiarito bene il tuo problema

ciao
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [VBA] come effettuare una somma

Postdi yield.pm » 21/05/11 23:45

Ma è chiaro che posso fare il calcolo che suggerisci....però se devo usare altre funzioni al posto di somma diventa un problema no? Quello era solo un esempio, perchè poi in realtà devo usare funzioni come correlazione, deviazione standart etc.... per questo chiedo come effettuare il calcolo con funzioni di excel - vba e non in quel modo... spero di essere stato chiaro.
in ogni caso grazie
yield.pm
Utente Junior
 
Post: 45
Iscritto il: 21/11/10 19:55

Re: [VBA] come effettuare una somma

Postdi ricky53 » 22/05/11 00:10

Ciao Yeld,
puoi fare un esempio concreto con i riferimenti alle celle utilizzate ed ai dati in esse contenuti.

Altrimenti penso sia poco probabile riuscire ad aiutarti.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [VBA] come effettuare una somma

Postdi Anthony47 » 22/05/11 02:28

Ad esempio:
Codice: Seleziona tutto
SOMMA = Application.WorksheetFunction.Sum(Prova)


Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [VBA] come effettuare una somma

Postdi yield.pm » 22/05/11 10:12

Grazie Anthony, le avevo provate tutte tranne quella giusta... risolto! Ma se volessi sommare solo una parte di quei dati, ad esempio da prova(1) A prova(50), come si fa?
yield.pm
Utente Junior
 
Post: 45
Iscritto il: 21/11/10 19:55

Re: [VBA] come effettuare una somma

Postdi Anthony47 » 22/05/11 12:16

Hum... la prima cosa che mi viene in mente e' di fare un flush del tuo array in una colonna libera e poi operare il calcolo su quella colonna; sempre che i dati non siano gia' disponibili in una colonna di partenza.
Se mi viene in mente qualcosa di piu' furbo, che non passi da un lento ciclo For / Next, lo scrivo.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [VBA] come effettuare una somma

Postdi yield.pm » 22/05/11 12:38

Ok grazie, Anthony. ciao
yield.pm
Utente Junior
 
Post: 45
Iscritto il: 21/11/10 19:55


Torna a Applicazioni Office Windows


Topic correlati a "[VBA] come effettuare una somma":


Chi c’è in linea

Visitano il forum: saxas e 12 ospiti