|
Rank: Member
Iscritto dal : 10/18/2003 Posts: 14
|
Desiseravo sapere se esiste una formula che mi permetta di sommare determinate celle con un determinato colore, per esempio tutte quelle gialle o tutte quelle verdi... Grazie attendo buone notizie...
|
|
|
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve Sommare il contenuto delle celle colorate o contare quante celle colorate ci sono? in un caso o nell'altro bisogna ricorrere a VBA o più semplice costruirsi una funzione personalizzata. questa sotto è una funzione che somma il valore di tutte le celle definite in uno specifico range che hanno un determinato colore: Function SommaPerColore(Colore As Integer, Rrange As Range) Dim Cl As Range Dim Col As Integer Dim Ttot Col = Colore For Each Cl In Rrange If Cl.Interior.ColorIndex = Col Then Ttot = Ttot + Cl.Value End If Next Cl SommaPerColore = Ttot End Function saluti Andrea
|
|
Rank: Member
Iscritto dal : 10/18/2003 Posts: 14
|
Mi serve sommare il contenuto delle celle, come faccio però a fargli distinguere i colori con questa funzione?
|
|
Rank: Member
Iscritto dal : 10/18/2003 Posts: 14
|
e poi aggiungo come scelgo la cella dove andrà visualizzato il totale?
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve La funzione che ti ho passato equivale ad avere una normale formula sul foglio Supponi che nel range A1:a100 hai delle celle colorate di rosso (codice colore 3) se vuoi il totale di tutte le celle colorate in B1, ti posizioni in cella B1 e scrivi: =SommaPerColore(3;A1:A100) ed avrai il totale di tutte le celle con colore 3. La macro va copiata in un modulo di Vba e la funzione da richiamare la trovi cliccando sul pulsante funzioni nell'elenco "definite dall'utente" saluti Andrea
|
|
Rank: Member
Iscritto dal : 10/18/2003 Posts: 14
|
ok tutto perfetto, adesso mi serve soltanto sapere i codici colore perchè non li so
|
|
Rank: Member
Iscritto dal : 10/4/2000 Posts: 0
|
esegui questa macro ed avrai i numeri dei colori Public Sub colori() For i = 1 To 56 Cells(i, 1) = i Cells(i, 2).Interior.ColorIndex = i Next i End Sub
ciao
|
|
Rank: Member
Iscritto dal : 10/18/2003 Posts: 14
|
Grazie ad entrambi però ho notato un'imperfezione nella formula considerando il range a1:a10 e le celle a1 a2 a3 sono gialle se metto la formula e le celle sono già gialle la formula funziona correttamente se il colore lo aggiungo dopo o voglio aggiungere con il colore a4 a5 e a6 questi ultimi non me li considera nella somma come mai???
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve questa è una limitazione nell'uso di funzioni definite dall'utente. Il ricalcolo automatico non ha influenza su dette funzioni. Un modo per scavalcare il problema è questo: aggiungi nella macro prima della dichiarazioni delle variabili questa riga: Application.Volatile in questo modo ogni modifica alla formattazione del colore della cella verrà considerata premendo il tasto F9 (calcola) saluti Andrea
|
|
Rank: Member
Iscritto dal : 10/18/2003 Posts: 14
|
ciao andrea non ho capito dove esattamente collocare il comando...
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve modifica così: Function SommaPerColore(Colore As Integer, Rrange As Range) <font color=red>Application.Volatile</font id=red> Dim Cl As Range Dim Col As Integer Dim Ttot Col = Colore For Each Cl In Rrange If Cl.Interior.ColorIndex = Col Then Ttot = Ttot + Cl.Value End If Next Cl SommaPerColore = Ttot End Function saluti Andrea
|
|
Rank: Member
Iscritto dal : 10/18/2003 Posts: 14
|
Ok molto comada grazie sempre di tutto
|
|
Guest |