Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Colora la tua Cella desiderata.

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

Colora la tua Cella desiderata.

Postdi Alessandro999 » 11/08/13 17:41

Salve :)

Se per cortesia qualcuno può rispondermi ho un problemino che non riesco a risolvere, vorrei colorare la cella che contiene un dato valore, di solito uso la formattazione condizionale ma in questo caso ho a che fare con un range di celle molto elevato circa 20000 celle e mi sarebbe più utile una piccola macro. Le celle in questione contengono delle formule che restituiscono dei valori numerici


Faccio un esempio: e per capirci bene su cosa intendo utilizzo un' immagine semplificata con poche celle, vedete in a1 c'è il numero 11, vorrei che venisse evidenziato come mostrato.

Che codice dovrei inserire nel modulo per far si che: il numero indicato in A1 venga evidenziato (tramite colorazione della cella) sul range H3:K6




Immagine

Grazie mille & Buone vacanze.... se siete in vacanza
Il vecchio Windows Xp + Office 2007.Ita
Windows 7 + Office 2007.Ita

Mi sembra che più si diventa vecchi e più il tempo scorre veloce, Bella fregatura !!!
Avatar utente
Alessandro999
Utente Senior
 
Post: 123
Iscritto il: 04/06/09 11:42
Località: Venezia

Sponsor
 

Re: Colora la tua Cella desiderata.

Postdi scossa » 11/08/13 18:03

Questo codice nel modulo di classe del tuo foglio:

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rng As Range, rFnd As Range
  Set rng = Me.Range("H3:K6")
  If Target.Address(0, 0) = "A1" Or Not Intersect(Target, rng) Is Nothing Then
    rng.Interior.ColorIndex = xlAutomatic
    Set rFnd = rng.Find(Me.Range("A1").Value, lookat:=xlWhole)
    If Not rFnd Is Nothing Then rFnd.Interior.ColorIndex = 6
  End If
  set rng = Nothing
  set rFnd = Nothing
End Sub
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 424
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Colora la tua Cella desiderata.

Postdi Flash30005 » 11/08/13 23:31

Hai office 2007 quindi selezioni l'intera area dei dati (H3:K6)
poi nella formattazione condizionale inserisci questa regola
Valore della Cella $A$1 - Formato - si applica a
Codice: Seleziona tutto
=$H$3:$K$6

Immagine

Uploaded with ImageShack.us

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: Colora la tua Cella desiderata.

Postdi scossa » 12/08/13 07:35

scossa ha scritto:Questo codice nel modulo di classe del tuo foglio:

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rng As Range, rFnd As Range
  Set rng = Me.Range("H3:K6")
  If Target.Address(0, 0) = "A1" Or Not Intersect(Target, rng) Is Nothing Then
    rng.Interior.ColorIndex = xlAutomatic
    Set rFnd = rng.Find(Me.Range("A1").Value, lookat:=xlWhole)
    If Not rFnd Is Nothing Then rFnd.Interior.ColorIndex = 6
  End If
  set rng = Nothing
  set rFnd = Nothing
End Sub


Scusa, non avevo letto che sono risultato di formule; aggiungi LookIn:=xlValues,:

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rng As Range, rFnd As Range
  Set rng = Me.Range("H3:K6")
  If Target.Address(0, 0) = "A1" Or Not Intersect(Target, rng) Is Nothing Then
    rng.Interior.ColorIndex = xlAutomatic
    Set rFnd = rng.Find(Me.Range("A1").Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not rFnd Is Nothing Then rFnd.Interior.ColorIndex = 6
  End If
  Set rng = Nothing
  Set rFnd = Nothing
End Sub
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 424
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Colora la tua Cella desiderata.

Postdi Alessandro999 » 12/08/13 08:59

Grazie mille Scossa e Flash ho usato entrambe le vostre ottime soluzioni.

Per Flash: prima invece di valore usavo nuova regola\utilizza una formula per determinare le celle da formattare e avevo un sacco di problemi :roll:

Per Scossa: grazie mille per l'ultimo codice che hai postato e funziona benissimo :)


A entrambi:

Mi è venuta in mente una implementazione:

Se con la macro volessi evidenziare più celle ? cioè senza che la macro pulisca il vecchio dato evidenziato ogni volta che viene inserito un nuovo valore sulla cella di input in a1, ad esempio sull' immagine seguente è evidenziato in giallo il numero 11, ammettiamo che poi volessi evidenziare anche il numero 2 sempre in giallo e dopo averlo ovviamente indicato tramite la solita cella di input A1 che variazione al codice bisognerebbe apportare ?


Immagine

A tal proposito poi avrei già pronta una macro per pulire tutto solo quando ne avrei bisogno, già testata e funzionante, è la seguente che per correttezza verso gli eventuali lettori del topic posto di seguito.

Codice: Seleziona tutto
Sub PulisciRiquadro()

    ActiveWindow.SmallScroll Down:=12
    Range("h3:k6").Select   '<<< inserire il range da pulire
    With Selection.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    ActiveWindow.SmallScroll Down:=-12
    Range("a1").Select  '<<< inserire la cella che excel deve occupare dopo la pulizia del riquadro
End Sub



GRAZIE per la Vostra disponibilità.
Il vecchio Windows Xp + Office 2007.Ita
Windows 7 + Office 2007.Ita

Mi sembra che più si diventa vecchi e più il tempo scorre veloce, Bella fregatura !!!
Avatar utente
Alessandro999
Utente Senior
 
Post: 123
Iscritto il: 04/06/09 11:42
Località: Venezia

Re: Colora la tua Cella desiderata.

Postdi scossa » 12/08/13 09:26

[quote="Alessandro999
Se con la macro volessi evidenziare più celle ? cioè senza che la macro pulisca il vecchio dato evidenziato ogni volta che viene inserito un nuovo valore sulla cella di input in a1, ad esempio sull' immagine seguente è evidenziato in giallo il numero 11, ammettiamo che poi volessi evidenziare anche il numero 2 sempre in giallo e dopo averlo ovviamente indicato tramite la solita cella di input A1 che variazione al codice bisognerebbe apportare ?[/color][/b]
[/quote]

Commenta (metti un apice all'inizio) questa riga:

Codice: Seleziona tutto
rng.Interior.ColorIndex = xlAutomatic
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 424
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Colora la tua Cella desiderata.

Postdi Alessandro999 » 12/08/13 10:47

Eseguo istruzioni ...

' rng.Interior.ColorIndex = xlAutomatic


Esito:

Straperfetto !!!!!!!!!

Ancora Grazie e buona giornata Scossa. :)

Immagine
Il vecchio Windows Xp + Office 2007.Ita
Windows 7 + Office 2007.Ita

Mi sembra che più si diventa vecchi e più il tempo scorre veloce, Bella fregatura !!!
Avatar utente
Alessandro999
Utente Senior
 
Post: 123
Iscritto il: 04/06/09 11:42
Località: Venezia


Torna a Applicazioni Office Windows


Topic correlati a "Colora la tua Cella desiderata.":


Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti