Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Problemi Filtra Colori Excel 2003

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

Problemi Filtra Colori Excel 2003

Postdi Omocaig » 26/06/15 11:33

Ciao, uso Excel 2003.

Ho importato la seguente macro, disponibile su questo sito, che mi permette di filtrare a seconda del colore della cella usando excel 2003.
Assegnando ad una colonna la seguente formula
Codice: Seleziona tutto
=ColorIndexOfCell(A1;FALSO;VERO)
con A1 cella colorata, posso attribuire un numero al colore e conseguentemente filtrare i numeri ottenuti.

Codice: Seleziona tutto
Function ColorIndexOfCell(Rng As Range, _
Optional OfText As Boolean, _
Optional DefaultAsIndex As Boolean = True) As Integer
Dim C As Long
If OfText = True Then
C = Rng.Font.ColorIndex
Else
C = Rng.Interior.ColorIndex
End If
If (C < 0) And (DefaultAsIndex = True) Then
If OfText = True Then
C = GetBlack(Rng.Worksheet.Parent)
Else
C = GetWhite(Rng.Worksheet.Parent)
End If
End If
ColorIndexOfCell = C
End Function
Function GetWhite(Wb As Workbook) As Long
Dim Ndx As Long
For Ndx = 1 To 56
If Wb.Colors(Ndx) = &HFFFFFF Then
GetWhite = Ndx
Exit Function
End If
Next Ndx
GetWhite = 0
End Function
Function GetBlack(Wb As Workbook) As Long
Dim Ndx As Long
For Ndx = 1 To 56
If Wb.Colors(Ndx) = 0& Then
GetBlack = Ndx
Exit Function
End If
Next Ndx
GetBlack = 0
End Function


Il problemi sono i seguenti:

-La formula non si aggiorna automaticamente al cambio di colore della cella selezionata nella forumla. Pero ovviare al problema in maniera grossolana posso cliccare su ogni singola cella contenente la forumla per ottenere un refresh, ricopiare la stessa formula sullo stesso intervallo risolve il problema, difatti si aggiorna il valore corrispondente al colore ( Ho creato delle macro per copiare ed incollare che effettivamente risolvono il problema ). F9 non aggiorna il risultato.
Posso risolvere senza macro ?

-La formula non legge la variazione di colore dello sfondo di una cella dovuta ad una formattazione condizionata, aggiornare non aggiorna il risultato e copiare ed incollare la forumula, non aggiorna il risultato.

Perchè ?

Vi ringrazio, Saluti !!
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08

Sponsor
 

Re: Problemi Filtra Colori Excel 2003

Postdi Omocaig » 27/06/15 10:23

Ciao, volevo aggiornare il post riguardo al secondo problema che ho postato, quello della formattazione condizionata. Da quanto ho capito leggendo su internet, una cosa è chiedere a VBA di leggere ( o impostare ) il colore del testo di una cella, una cosa è chiedere ad Excel di farlo "apparire" del colore desiderato con la formattazione condizionata.
Quindi credo che la soluzione sia creare una macro che faccia quello che vorrei fare con la formattazione condizionata, in maniera da rendere compatibile la formula sopra. A questo punto, posto che quello che dico sia corretto, come posso creare una macro che rispecchi le seguenti formattazioni condizionate ?

( Il numero è il numero del colore dello sfondo della cella )

1)Nella colonna F, partendo dalla cella F14
Se il valore della cella in colonna F è compreso tra A2 e B2, colore cella 44
Se il valore è compreso tra B2 e B3, colore cella 37
Se non è compreso nell'intervallo, colore cella 2 ( quindi cella non colorata )

A2=OGGI()
B2=OGGI()+15
B3=OGGI()+25



2)Se il valore di R14 è >0, Colore cella B14, 4
Se R=0, Colore cella B14, 2
Questo per tutta la colonna R partendo da R 14.


Ciao, Grazie per la mano !
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08

Re: Problemi Filtra Colori Excel 2003

Postdi Flash30005 » 29/06/15 00:22

Prova questa macro
Codice: Seleziona tutto
Sub ColoraSE()
URF = Range("F" & Rows.Count).End(xlUp).Row
URR = Range("R" & Rows.Count).End(xlUp).Row
Range("F:F").Interior.ColorIndex = xlNone
Range("R:R").Interior.ColorIndex = xlNone
For RRF = 14 To URF
    If Range("F" & RRF).Value >= [A2] And Range("F" & RRF).Value < [B2] Then Range("F" & RRF).Interior.ColorIndex = 44

        If Range("F" & RRF).Value >= [B2] And Range("F" & RRF).Value < [B3] Then Range("F" & RRF).Interior.ColorIndex = 37
Next RRF
For RRR = 14 To URR
    If Range("R" & RRR).Value > 0 Then Range("R" & RRR).Interior.ColorIndex = 4
Next RRR
End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Problemi Filtra Colori Excel 2003

Postdi Omocaig » 01/07/15 15:12

Grazie Flash30005, la macro è perfetta ma mi servirebbe che funzionasse senza doverla eseguire e da inserire nei fogli che mi interessano. Come posso fare ?

Saluti
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08

Re: Problemi Filtra Colori Excel 2003

Postdi Flash30005 » 01/07/15 18:04

Su ogni foglio
inserisci questo codice
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
ColoraSE
End Sub


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Problemi Filtra Colori Excel 2003

Postdi Omocaig » 02/07/15 10:22

Ciao, Ho inserito in un solo foglio la macro, se faccio play dice

Errore di compilazione:
è prevista una variabile o routine e non modulo.

Questa è la spiegazione di Excel:
"Nell'area di validità corrente non esiste alcuna variabile o routine con questo nome. Esiste tuttavia un modulo con questo nome. Controllare che il nome di variabile o di routine sia stato digitato correttamente e verificare che il nome cui si desidera fare riferimento non sia privato in un altro modulo. Un nome di modulo può essere utilizzato come qualificatore, ma non può essere indicato da solo."

Utilizzo excel 2003, potrebbe essere questo il problema ?

Saluti !
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08


Torna a Applicazioni Office Windows


Topic correlati a "Problemi Filtra Colori Excel 2003":


Chi c’è in linea

Visitano il forum: Nessuno e 19 ospiti

cron