Condividi:        

Seleziona Celle Colorate

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

Seleziona Celle Colorate

Postdi vr1894 » 02/09/15 14:38

Ciao a tutti, avrei bisogno di una macro che selezioni le celle colorate (giallo) o con una formattazione particolare (scritta in verde) su una tabella con range B2:BZ1000.
Dopo aver selezionato queste celle devo modificare la formattazione rendendole celle di colore bianco e scritta nera.
Il problema principale è che nelle celle con scritta verde ci sono anche scritte rosse che devono restare tali.
Qualcuno di voi ha una soluzione?
Grazie mille!!!!!
vr1894
Utente Junior
 
Post: 15
Iscritto il: 02/09/15 14:26

Sponsor
 

Re: Seleziona Celle Colorate

Postdi Anthony47 » 02/09/15 20:38

Ciao vr1894, benvenuto nel forum.
Non mi eccito mai quando si tratta di lavorare sui colori, perche' per me il colore e' un elemento di presentazione e non di valorizzazione dei dati.
Comunque prima di provare un qualche suggerimento vorrei sapere come sono stati applicati i colori, es se con Formattazione oppure con Formattazione condizionale.

Ti aspettiamo...
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Seleziona Celle Colorate

Postdi vr1894 » 08/09/15 15:01

Ciao Anthony47,
eh, ti capisco...anche io non sono un amante dei colori come parametro di selezione ma il sistema estrae le modifiche effettuate evidenziando il tutto con colore di cella e modifiche al font (molte volte è possibile trovare all'interno della stessa cella la cella colorata in giallo, parte della scritta in verde e parte della scritta in rosso).
Non è una formattazione condizionale, altrimenti non avrei neanche scritto il post dato che la macro non vede questo tipo di formattazione.
Grazie mille per l'aiuto! :-)
vr1894
Utente Junior
 
Post: 15
Iscritto il: 02/09/15 14:26

Re: Seleziona Celle Colorate

Postdi alfrimpa » 08/09/15 17:26

Ciao Vr

Innanzitutto un caro saluto ad Anthony.

Ma tu cosa intendi per "selezionare tutte le celle colorate"?

Ammesso che si riesca a selezionarle ci dovrai pur far qualcosa? Che cosa?

Magari allega un file di esempio ridotto con il risultato che vuoi ottenere.

P.S. Scusa rileggendo bene hai già scritto cosa devi fare; allega il file e vediamo cosa si può fare.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Seleziona Celle Colorate

Postdi vr1894 » 09/09/15 08:15

Ciao a tutti! Mi spiego meglio: devo selezionare tutte le celle con una determinata formattazione (in questo caso scritta in verde e cella formattata in giallo) e farla diventare senza colore e con la scritta in nero.
Il problema è che ci sono altre celle con la scritta in rosso E la scritta in verde + la cella gialla. In questo caso dovrei modificare la scritta verde e farla diventare nera e la scritta rossa eliminarla.
Ho parzialmente risolto il problema: sono riuscito a modificare tutte le celle gialle e verdi, ma le celle con 2 diversi colori della scritta non saprei come risolverlo.
Avevo scritto il codice in questo modo:
'
Rows("3:3").Select
Selection.AutoFilter
ActiveSheet.Range("$A$4:$BZ$1200").AutoFilter Field:=2, Criteria1:=RGB(0, 176 _
, 80), Operator:=xlFilterFontColor
Range("B4:B1200").Select
Selection.SpecialCells(xlCellTypeVisible).Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
ActiveSheet.Range("$A$4:$V$1200").AutoFilter Field:=2
'
Rows("3:3").Select
Selection.AutoFilter
ActiveSheet.Range("$A$4:$BZ$1200").AutoFilter Field:=3, Criteria1:=RGB(0, 176 _
, 80), Operator:=xlFilterFontColor
Range("C4:C1200").Select
Selection.SpecialCells(xlCellTypeVisible).Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
ActiveSheet.Range("$A$4:$V$1200").AutoFilter Field:=3

E così via fino al field:=35
vr1894
Utente Junior
 
Post: 15
Iscritto il: 02/09/15 14:26

Re: Seleziona Celle Colorate

Postdi alfrimpa » 09/09/15 10:11

Ciao vr1894

Premesso che non so se sarò in grado di risolvere il tuo problema ma, aldilà del codice che hai scritto/registrato, ti avevo chiesto di allegare un file di esempio; questo per vedere la struttura dei tuoi dati e per capire se vi possono essere strade alternative per raggiungere il risultato che ci prefiggiamo.

Per allegare il file puoi usare Filedropper o Dropbox.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Seleziona Celle Colorate

Postdi vr1894 » 09/09/15 16:31

Ciao alfrimpa!
ho allegato il file come mi hai chiesto...se ci fosse una soluzione più semplice sarebbe l'ideale!
Come si vede dal codice non sono un mostro in vba quindi di solito scrivo quello che so e registro il resto adattando il tutto.
Grazie mille per il supporto!

http://www.filedropper.com/provamacro
vr1894
Utente Junior
 
Post: 15
Iscritto il: 02/09/15 14:26

Re: Seleziona Celle Colorate

Postdi alfrimpa » 09/09/15 17:11

Ciao vr1894

Nel file che ha allegato va:

1) Tolto lo sfondo giallo ove presente (e questo è facile)
2) Le scritte verdi devono diventare nere e quelle rosse devono restare invariate
3) le scritte rosse sono con testo barrato; è corretto così? Vanno lasciate così come sono?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Seleziona Celle Colorate

Postdi alfrimpa » 09/09/15 22:40

Ciao vr1894

Sto riflettendo sulla cosa e non dico che sia impossibile ma piuttosto complessa questo si.

Comunque penso che occorrerà un po' di tempo.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Seleziona Celle Colorate

Postdi vr1894 » 10/09/15 08:51

Ciao alfrimpa,
sì, è un po' complicato, per questo ho parzialmente risolto con la macro scritta e registrata.
Solo un paio di puntualizzazioni:

1) Togliere lo sfondo giallo SOLO se sono state correttamente modificate le scritte all'interno.
2) Le scritte verdi devono diventare nere (punto risolto con la macro) mentre quelle rosse dovrebbero essere eliminate
3) Sì, le scritte rosse vengono estratte in questo modo dal sistema (barrate) e dovrebbero essere eliminate.

Il problema grosso l'ho riscontrato nelle celle con doppia formattazione dato che le scritte diventano tutte nere ma non riesco a cancellare le scritte barrate.
Grazie mille per il supporto!!!!
vr1894
Utente Junior
 
Post: 15
Iscritto il: 02/09/15 14:26

Re: Seleziona Celle Colorate

Postdi alfrimpa » 10/09/15 09:32

Ciao vr1894

Non ho capito cosa intendi con il punto 1.

Quindi le scritte rosse devono essere eliminate? Nel primo post avevi detto che dovevano rimanere o vuoi cancellare solo la baratura?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Seleziona Celle Colorate

Postdi vr1894 » 10/09/15 10:04

Sì, hai ragione, nel primo post dovevano restare ma poi mi hanno modificato i parametri in corsa.
Effettuata l'estrazione dal sistema si possono vedere in giallo tutte le celle che hanno subito una modifica.
Queste modifiche possono essere parole o numeri aggiunti (che vedremo in verde) e parole o numeri eliminati (che vedremo in rosso barrato).
Nel caso delle celle in giallo con scritta in verde sono riuscito ad effettuare la modifica (perchè se è presente la doppia formattazione le parole barrate diventano nere ma restano pur sempre barrate). Il problema grosso si presenta nel momento in cui io voglio eliminare le parole o i numeri barrati.
vr1894
Utente Junior
 
Post: 15
Iscritto il: 02/09/15 14:26

Re: Seleziona Celle Colorate

Postdi alfrimpa » 10/09/15 10:15

Perdonami vr ma continuo a non capire (sarà l'età :) )

Puoi fare un esempio pratica (partendo dal tuo file) mostrando le tue stringhe come sono attualmente e come dovrebbero essere modificate?

Magari riallega il file con il risultato desiderato.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Seleziona Celle Colorate

Postdi vr1894 » 10/09/15 10:20

Il file l'ho allegato con la macro quindi se la fai girare vedrai il risultato.
Provo ad essere più chiaro: (--> = diventa)
- Celle gialle con scritta verde --> Celle senza colore con scritta nera;
- Celle gialle con scritta rossa barrata --> Celle bianche senza scritta;
- Celle gialle con scritta verde e rossa barrata --> Celle bianche con scritta nera e senza le scritte che prima erano rosse.
Spero di essere stato più chiaro... :)
vr1894
Utente Junior
 
Post: 15
Iscritto il: 02/09/15 14:26

Re: Seleziona Celle Colorate

Postdi alfrimpa » 10/09/15 10:28

Ora si!

Il problema ora è farlo :)

Io ci provo ma non assicuro nulla.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Seleziona Celle Colorate

Postdi vr1894 » 10/09/15 10:35

Yeeeaaah! Alla fine ci siamo capiti! Se siamo riusciti in questo sono sicuro che ci sarà un modo per fare anche il resto! ;)
vr1894
Utente Junior
 
Post: 15
Iscritto il: 02/09/15 14:26

Re: Seleziona Celle Colorate

Postdi Anthony47 » 11/09/15 00:28

Mi intrometto per suggerire questa macro:
Codice: Seleziona tutto
Sub vrrr()
'Vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=105329
Dim myCell As Range, I As Long
'
ActiveSheet.Copy After:=Sheets(Sheets.Count)
'Lavora su copia del foglio:
For Each myCell In ActiveSheet.UsedRange
If myCell.Interior.ColorIndex = 6 Then
    myCell.Interior.ColorIndex = xlColorIndexNone
    If myCell.Characters.Font.Strikethrough And myCell.Characters.Font.Color = RGB(255, 0, 0) Then
        myCell.ClearContents
   
    ElseIf IsNull(myCell.Characters.Font.Strikethrough) Then
    newval = ""
        For I = 1 To Len(myCell.Value)
            If myCell.Characters(I, 1).Font.Strikethrough = False Then
                newval = newval & myCell.Characters(I, 1).Text
            End If
        Next I
        myCell.Value = Trim(newval)
    End If
'
    myCell.Font.ColorIndex = xlColorIndexAutomatic
    myCell.Font.Strikethrough = False
End If
Next myCell
MsgBox ("Completato...")
End Sub
Va lanciato dopo aver attivato il foglio da "lavorare", ma lavora su una copia del foglio.

Individua le celle Gialle, e all'interno delle gialle cancella il testo e cambia il font.color.

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Seleziona Celle Colorate

Postdi vr1894 » 11/09/15 08:47

Ciao Antony,
il problema è che all'interno di una stessa cella ho 3 colori del testo che vanno trattati in modi diversi.
Avevo pensato ad una formula circolare che identifichi ogni lettera barrata e la sostituisce...ma come scrivevo sopra non sono bravo a scrivere questi codici in particolare quelli circolari!
VR
vr1894
Utente Junior
 
Post: 15
Iscritto il: 02/09/15 14:26

Re: Seleziona Celle Colorate

Postdi Anthony47 » 11/09/15 09:16

Con riferimento al file pubblicato, mi fai un esempio di cella convertita erroneamente?
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Seleziona Celle Colorate

Postdi vr1894 » 11/09/15 10:33

Su questo link ho allegato un file di esempio, nei topic in alto ho cercato di dare il maggiore dettaglio possibile sul punto..dimmi se hai altri dubbi e sono a disposizione.
Grazie mille
http://www.filedropper.com/provamacro
vr1894
Utente Junior
 
Post: 15
Iscritto il: 02/09/15 14:26

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Seleziona Celle Colorate":


Chi c’è in linea

Visitano il forum: Nessuno e 134 ospiti