Newsgroup: it.comp.programmare
Titolo: Ciclo somma di importi in EXCEL

Innanzitutto Ciao a tutti/e!
E scusate se posto qui per un problema in excel ma ciò che devo realizzare
necessita di conoscenze di programmazione
Il problema che mi assilla è questo.
Dovrei realizzare un piccolo automatismo per un mio collega, ma ho parecchie
difficoltà!
Ho nel mio foglio elettronico degli importi che sono preceduti nelle celle
superiori da alcune intestazioni.....in pratica questa situazione:
Inizio primo secondo terzo ..... Finale
12000 2500 269000 26023 ..... blank
L'automatismo che dovrei realizzare è questo : devo aggiungere una colonna
sulla destra di inizio (questo lo realizzo molto facilmente) e in una cella
di questa colonna sommare tutti gli importi delle celle vicine fino al
raggiungimento di finale(o di blank).
Quindi in una cella vuota della colonna che ho aggiunto devo impostare una
formula da codice (con ActiveCell.FormulaR1C1=…….).che mi somma gli importi
compresi tra i due intervalli ESCLUSI.
Il problema è che l’utente può aggiungere o togliere a suo piacimento delle
colonne con importi comprese tra gli intervalli di riferimento e vorrebbe
lanciando una macro la somma degli importi di cui prima parlavo, ma io non
so a priori gli importi di quante colonne dovrò sommare(anche se so che le
dovrò sommare fino a Finale)
Pensavo di impostare un ciclo che somma gli importi partendo da inizio ed
interrompendosi a Finale ma sinceramente non so da dove cominciare!!
Spero di essere stato chiaro e ringrazio in anticipo tutti dell’eventuale
aiuto offertomi!!
Ciao
--------------------------------
Inviato via 
http://usenet.libero.it

WorksheetFunction.Sum(Range("a1:a6"))
GoodBye


ecco un esempio:
(ho messo un LIMITE per evitare che il programma vada in loop se non
esiste la colonna con la label "Finale"!)
Sub sommaRiga()
    LIMITE = 10
    finale = 1
 
    With ActiveSheet
 
    ' Trova la colonna che contiene 'Finale'
    While finale < LIMITE And _
        VBA.StrComp(.Cells(1, finale).Text, "Finale", vbTextCompare)
<> 0
        finale = finale + 1
    Wend
 
    ' esegue la somma
    riga = ActiveCell.Row
    col = 1 ' colonna iniziale
    tmpSomma = 0
    For quale = col To finale
        tmpSomma = tmpSomma + .Cells(riga, quale)
    Next
    End With
    MsgBox tmpSomma
End Sub
se sei interessato alla programmazione di Excel a giugno escono due
miei libri allegati a delle riviste:
uno su "Office Magazine" e mostra esempi (di complessitą via via
crescente) per illustrare le funzionalitą di Excel
l'altro su "IoProgrammo" e tratta la programmazione avanzata di Office
(con particolare rif. ad Excel); questo realizzato con Marinella Lizza
se sei agli inizi ti consiglio il primo
-- Ivan Venuti

 due miei libri allegati a delle riviste:
Tanti anni fa' lessi un libro bellissimo sulla programmazione di Excel (95 o
97, non ricordo), l'autore era un tipo molto spiritoso ed arguto. Non che a
me la programmazione in Excel interessasse più di tanto, ma il libro si
lasciava leggere indipendentemente dall'argomento.. niente niente sei quel
bravissimo scrittore? Il tipo in questione mi dava l'impressione di essere
Toscano..
-- 
Ale
http://www.sen.it
http://www.sen.it/stoa

 Toscano..
no, non sono quello scrittore (io ho iniziato a scrivere articoli nel
2001 e solo quest'anno ho scritto alcuni libri per delle riviste che
escono in edicola).
Pero' se riesci a capire di chi era il libro fammelo sapere: mi sa che
ho un bel po' da imparare visto il tuo "entusiasmo" a distanza di anni
:-)
-- Ivan