Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Aiuto urgente su somme celle non colorate di diversi fogli

Ultimo Aggiornamento: 29/09/2015 19:20
Post: 1
Registrato il: 29/09/2015
Città: LATERZA
Età: 33
Utente Junior
OFFLINE
29/09/2015 16:35

Buonasera,

Ho un urgente bisogno di una vostra mano. Devo creare una cella con la somma di diverse celle, di diversi fogli con la particolarità di sommare solo le celle non colorate. Esiste un modo per farlo?
Post: 1.056
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
ONLINE
29/09/2015 17:57

Ciao Giuseppe

Excel non dispone di funzioni che facciano la somma di celle "colorate" o meno per cui occorre scrivere una funzione in VBA che lo faccia

Function SommaNonColorate(rng as Range) as Long
Dim cella as Range
For Each cella in rng
    If cella.Interior.ColorIndex = xlNone Then
         SommaNonColorate = SommaNonColorate + cella.Value
    End if
Next cella
End Function


Questa funzione va inserita nell'Editor di VBA in un modulo standard.

Supponendo che si debba sommare le celle non colorate nell'intervallo A1:G50 puoi scrivere sul foglio

=SommaNonColorate(A1:G50)

Alfredo
Post: 1.897
Registrato il: 27/09/2010
Città: FIRENZE
Età: 61
Utente Veteran
Excel 2010
OFFLINE
29/09/2015 18:00

somma per colore (celle senza colore)
Ciao,

si può fare solo con il vba ed a patto che il colore di sfondo non sia generato da formattazione condizionaleù


Apri l'editor del vba, inserisci un modulo

copiaci questo codice (trovato su internet)


Attenzione: la prima riga è scritta

Function ColorFunction con la o di Otranto non con uno zero

---------------

Function ColorFuncti0n(rColor As Range, rRange As Range, Optional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult

lCol = rColor.Interior.ColorIndex

If SUM = True Then
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = WorksheetFunction.SUM(rCell) + vResult
End If
Next rCell
Else
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = 1 + vResult
End If
Next rCell
End If

ColorFunction = vResult

End Function

--------------

Esci dall'editor

ora puoi usare la nuova funzione.

Nella funzione devi indicare una cella con lo sfondo che vuoi sommare

Esempio A2 non ha alcun colore di riempimento

=COLORFUNCTI0N(A2;D1:G20;VERO)

somma d1:g20

Saluti





[Modificato da (Canapone) 29/09/2015 18:06]

Post: 1.057
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
ONLINE
29/09/2015 18:57

Ciao Stefano

Da quando in qua ti sei buttato sul VBA? (Ho fatto anche la rima [SM=g27828] )

Io mi sono limitato alla richiesta di Giuseppe di somma delle celle non colorate.

Un caro saluto.

Alfredo
Post: 1.898
Registrato il: 27/09/2010
Città: FIRENZE
Età: 61
Utente Veteran
Excel 2010
OFFLINE
29/09/2015 19:20

somma per colore
Ciao Alfredo,

confermo: non ci capisco nulla.

Fatto solo una veloce ricerca su internet.

Stavo quasi per proporre una delle udf che si trovano (tipo sumbycolor)

per usarla insieme a somma

=somma(range)-sumbycolor(range)


Somma tutto meno la somma delle celle colorate. ( [SM=x423027] )

A presto

Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 20:31. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com