Somma se colore

Discussioni sull'applicazione per i fogli di calcolo
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Somma se colore

Messaggio da capodimontemassimo »

Buongiorno, ho una foglio di calcolo con le celle di una colonna colorate alcune di bianco ed altre di rosso , dovrei fare la somma di quelle con lo sfondo rosso. Chi può aiutarmi?
open office 4.1.5
vista
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: somma se colore

Messaggio da unlucky83 »

la cosa si può fare solo con macro, a meno che non ci sia un criterio dietro alla scelta dello sfondo colorato
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

Non c’è criterio, come devo fare con macro?
open office 4.1.5
vista
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: somma se colore

Messaggio da unlucky83 »

Sei capace a scrivere codice in basic? Perchè il registratore di macro non ti può aiutare
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

Non sono capace ascrivere in basic :roll:
open office 4.1.5
vista
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: somma se colore

Messaggio da unlucky83 »

allora dovresti allegare il file così ti diamo una mano a scrivere il codice idoneo alle tue esigenze
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

unlucky83 ha scritto:allora dovresti allegare il file così ti diamo una mano a scrivere il codice idoneo alle tue esigenze

Allego il file.
Allegati
prova.xls
(7 KiB) Scaricato 465 volte
open office 4.1.5
vista
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: somma se colore

Messaggio da unlucky83 »

perchè il file è in xls? i file di openoffice e libreoffice hanno estensione ods e il linguaggio delle macro di questi programmi è differente da quello di Excel.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

unlucky83 ha scritto:perchè il file è in xls? i file di openoffice e libreoffice hanno estensione ods e il linguaggio delle macro di questi programmi è differente da quello di Excel.
Ho allegerito il foglio e nel salvarlo l'ho fatto in xls, ora allego lo stesso in ods.
Allegati
prova.ods
(13.44 KiB) Scaricato 379 volte
open office 4.1.5
vista
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: somma se colore

Messaggio da patel »

la tabella ha dimensioni fisse ? la somma sta sempre nella stessa cella ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

patel ha scritto:la tabella ha dimensioni fisse ? la somma sta sempre nella stessa cella ?
La tabella ha dimensioni fisse e la somma sta sempre nella stessa cella.
open office 4.1.5
vista
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: somma se colore

Messaggio da unlucky83 »

Questa è la macro

Codice: Seleziona tutto

Sub SommaAranci
oRange=ThisComponent.Sheets.getbyname("1").getcellrangebyname("B4:B17")
somma=0
For i=0 To oRange.Rows.Count-1
oCosa=Orange.getCellByPosition(0,i)
	If RGB(255,51,0)=oCosa.CellBackColor then
		somma=somma+oCosa.Value
	End If
Next
ThisComponent.Sheets.getbyname("1").getcellrangebyname("B20").Value=somma
End Sub
Da modificare se rinomini il foglio e sposti le celle nel foglio o cambi colore
Allegati
prova2.ods
(16.05 KiB) Scaricato 402 volte
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

unlucky83 ha scritto:Questa è la macro

Codice: Seleziona tutto

Sub SommaAranci
oRange=ThisComponent.Sheets.getbyname("1").getcellrangebyname("B4:B17")
somma=0
For i=0 To oRange.Rows.Count-1
oCosa=Orange.getCellByPosition(0,i)
	If RGB(255,51,0)=oCosa.CellBackColor then
		somma=somma+oCosa.Value
	End If
Next
ThisComponent.Sheets.getbyname("1").getcellrangebyname("B20").Value=somma
End Sub
Da modificare se rinomini il foglio e sposti le celle nel foglio o cambi colore
Grazie unlucky83, avrei bisogno di un'ultimo aiuto . Come posso farla eseguire o aggiornare autonomamente ogni qualvolta coloro una cella?
open office 4.1.5
vista
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: somma se colore

Messaggio da unlucky83 »

Al momento ti ho collegato la macro al pulsante. Per rendere l’aggiornamento automatico ogni volta che modifichi il foglio dovresti collegarlo all’evento del foglio:
Dal menu in alto "Foglio">"Foglio eventi"> seleziona "contenuto modificato" e clicca sul pulsante "Macro" sotto la voce Assegna, seleziona il documento prova2.ods e apri il suo elenco, poi apri Standard, Seleziona Module1 e infine seleziona la macro "SommaAranci". A questo punto premi su ok, in questa e nella finestra successiva

P.s.
Non è necessario che a ogni messaggio di risposta citi il messaggio precedente
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

Ho fatto come mi hai suggerito, riesco ad ottenere solo in parte quello che desidero, cioè funziona la macro fino a quando non chiudo il foglio ma non funziona l'aggiornamento della somma nel momento in cui coloro una nuova cella contenete un numero . Inoltre nel momento in cui vado a riaprire il foglio non funziona nemmeno la macro se eseguita manualmente.
Allegati
prova3.ods
(14.91 KiB) Scaricato 198 volte
open office 4.1.5
vista
hubert lambert
Volontario
Volontario
Messaggi: 164
Iscritto il: venerdì 9 giugno 2017, 13:48

Re: somma se colore

Messaggio da hubert lambert »

Ciao,

Ho fatto, per un altro forum, un estensione countstyle.oxt per questo tipo di domanda.
L'estensione aggiungia due funzioni a Calc: CELLSTYLE e COUNTSTYLE.
CELLSTYLE restituisce lo stile della data cella:

Codice: Seleziona tutto

CELLSTYLE(A1)
COUNTSTYLE prevede tre argomenti, il terzo facoltativo:
- <range>: le celle di riferimento;
- <style>: lo stile da contare (sensibile al maiuscolo/minuscolo);
- <function>: un numero intero che rappresenta il tipo di operazione da eseguire.
Se il terzo argomento è omesso o uguale a 0, COUNTSTYLE conta semplicemente le celle dello stile specificato. Le altre funzioni sono:
1: calcola la somma delle celle
2: conta le celle non vuote
3: calcola la media
4: restituisce il valore massimo
5: restituisce il valore minimo
6: conta i valori numerici

Codice: Seleziona tutto

COUNTSTYLE(A1:A100;"rosso";1)
capodimontemassimo.png
Quelle funzione funzionano solo con gli stili di celle: il colore (quale: sfondo? carattere?...) applicato direttamente non è contato.
Non funziona con la formattazione condizionale: sarebbe troppo complicato, e basta contare con la stessa condiziona utilizzata per la formattazione.

Ogni tanto tradurrò l'estensione in italiano (per il momento esistono solo il francese e l'inglese).
Saluti.
 Editato: Eccola in italiano:
countstyle.oxt
aggiunta italiano
(6.22 KiB) Scaricato 261 volte
 
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

Ho provato ad installare la funzione senza riuscire.
Allegati
Screenshot (2).png
Screenshot (3).png
open office 4.1.5
vista
hubert lambert
Volontario
Volontario
Messaggi: 164
Iscritto il: venerdì 9 giugno 2017, 13:48

Re: somma se colore

Messaggio da hubert lambert »

Sembra una cattiva installazione. Prova così:
- disinstalla l'estensione e riavvia completamente (incluso il QuickStart se del caso) OpenOffice;
- installa di nuovo e riavvia lo stesso.

Se non funziona, varrebbe la pena di provare con una versione più recente di OpenOffice.
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: somma se colore

Messaggio da patel »

Ciao hubert lambert, Io l'ho provata su Libre 6.0 e funziona. Perché hai usato gli stili ? mi sembra più semplice applicare un colore di sfondo che usare uno stile personalizzato.
Potresti allegare il codice delle 2 funzioni ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
hubert lambert
Volontario
Volontario
Messaggi: 164
Iscritto il: venerdì 9 giugno 2017, 13:48

Re: somma se colore

Messaggio da hubert lambert »

Ciao Patel,

Grazie per l'interesse e per il test.
Ci sono tre ragioni (almeno) per preferire l'uso degli stili:
- non è molto facile recuperare il riferimento del colore usato (ed i nomi dei colori variano tra OpenOffice e LibreOffice, o anche tra diverse versioni);
- alcuni utenti hanno in mente il colore di sfondo, ma altri vogliono il colore del carattere, dei bordi... o un mix; inoltre, a volte è possibile confondere due colori molto vicini, problema risolto automaticamente con gli stili;
- gli stili consentono una maggior libertà (come contare i numeri in grassetto) ed è molto facile cambiare un colore senza cambiare il nome dello stile, quindi senza toccare i calcoli.

Tuttavia è sempre possibile aggiungere alcune linee di codice per contare sullo sfondo, se davvero gli utenti lo desiderano... ;)
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: somma se colore

Messaggio da unlucky83 »

capodimontemassimo ha scritto:Ho fatto come mi hai suggerito, riesco ad ottenere solo in parte quello che desidero, cioè funziona la macro fino a quando non chiudo il foglio ma non funziona l'aggiornamento della somma nel momento in cui coloro una nuova cella contenete un numero .
Ho cambiato l'evento a cui è associata la macro, ora viene eseguita ogni volta viene effettuato un cambio di selezione. Quindi quando selezioni una cella, es B5, e cambi il colore di sfondo, la somma verrà modificata quando selezioni un'altra cella nel foglio.
Inoltre nel momento in cui vado a riaprire il foglio non funziona nemmeno la macro se eseguita manualmente.
Non capisco perchè ti da questo problema, aprendo e chiudendo più volte il documento, apportandoci i cambi di sfondo, la macro viene sempre eseguita. Posso dirti che funziona esclusivamente con la tonalità di arancione3.
Per rendere più flessibile la mia macro l'ho modificata così:

Codice: Seleziona tutto

Sub SommaAranci
oRange=ThisComponent.Sheets.getbyname("1").getcellrangebyname("B4:B17")
oConfronto=ThisComponent.Sheets.getbyname("1").getcellrangebyname("A20")
somma=0
For i=0 To oRange.Rows.Count-1
oCosa=Orange.getCellByPosition(0,i)
   If oConfronto.CellBackColor=oCosa.CellBackColor then
      somma=somma+oCosa.Value
   End If
Next
ThisComponent.Sheets.getbyname("1").getcellrangebyname("B20").Value=somma
End Sub
In questo modo preleva il colore di confronto dalla cella A20
Allegati
prova3.ods
(16.24 KiB) Scaricato 174 volte
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

hubert lambert ha scritto:Sembra una cattiva installazione. Prova così:
- disinstalla l'estensione e riavvia completamente (incluso il QuickStart se del caso) OpenOffice;
- installa di nuovo e riavvia lo stesso.

Se non funziona, varrebbe la pena di provare con una versione più recente di OpenOffice.
Effettivamente era installata male, ho verificato di avere la versione più recente del programma ma ancora non ho risolto. allego lo screenshot in cui si vede il prodotto.
Allegati
Screenshot (4).png
open office 4.1.5
vista
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

unlucky83 perché colorando la cella b15 non si aggiorna il risultato della somma ?
Allegati
prova4.ods
(16.24 KiB) Scaricato 131 volte
open office 4.1.5
vista
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: somma se colore

Messaggio da unlucky83 »

Ho scaricato il tuo file, ho aperto il documento e la somma tiene conto di b15. Dopo aver impostato lo sfondo a b15 hai selezionato un'altra cella?
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

unlucky83 ha scritto:Ho scaricato il tuo file, ho aperto il documento e la somma tiene conto di b15. Dopo aver impostato lo sfondo a b15 hai selezionato un'altra cella?
si
open office 4.1.5
vista
hubert lambert
Volontario
Volontario
Messaggi: 164
Iscritto il: venerdì 9 giugno 2017, 13:48

Re: somma se colore

Messaggio da hubert lambert »

capodimontemassimo ha scritto:Effettivamente era installata male, ho verificato di avere la versione più recente del programma ma ancora non ho risolto.
Come detto, con COUNTSTYLE devi utilizzare gli stili di cella (vedi F11):
massimo.png
Allegati
prova.ods
(14.07 KiB) Scaricato 150 volte
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: somma se colore

Messaggio da unlucky83 »

capodimontemassimo ha scritto:Inoltre nel momento in cui vado a riaprire il foglio non funziona nemmeno la macro se eseguita manualmente.
Questa cosa me la spiego solo con la sicurezza delle macro impostata per bloccare l'esecuzione della macro. La macro è piuttosto semplice e non mi viene in mente nient'altro che ti impedisca di farla funzionare.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

hubert lambert non riesco a farla funzionare. ho utilizzato F11 ed aggiunto lo stile rosso .
Allegati
Screenshot (6).png
open office 4.1.5
vista
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

unlucky83 ha scritto:
capodimontemassimo ha scritto:Inoltre nel momento in cui vado a riaprire il foglio non funziona nemmeno la macro se eseguita manualmente.
Questa cosa me la spiego solo con la sicurezza delle macro impostata per bloccare l'esecuzione della macro. La macro è piuttosto semplice e non mi viene in mente nient'altro che ti impedisca di farla funzionare.

Risolto! Grazie unlucky83.
open office 4.1.5
vista
capodimontemassimo
Messaggi: 66
Iscritto il: sabato 8 aprile 2017, 9:09

Re: somma se colore

Messaggio da capodimontemassimo »

UNLUCKY83 Perché riportando la stessa macro su un altro foglio con la stessa tabella , avendo già impostato la sicurezza delle macro , non si aggiorna automaticamente?
open office 4.1.5
vista
Rispondi