Condividi:        

[excel -vba] Evidenziare righe se cella è selezionata

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

[excel -vba] Evidenziare righe se cella è selezionata

Postdi Mars Armada » 13/04/11 09:09

Ribuongiorno.
Ho creato questo codice per evidenziare la riga di un file se una cella sulla riga è selezionata.
Quando viene deselezionata vorrei però che tornasse al suo colore originario e non rimanesse gialla.
Cosa devo aggiungere?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveCell
.EntireRow.Interior.ColorIndex = 36
End With
End Sub

Grazie
Mars Armada
Newbie
 
Post: 6
Iscritto il: 12/04/11 15:33

Sponsor
 

Re: [excel -vba] Evidenziare righe se cella è selezionata

Postdi Anthony47 » 13/04/11 13:46

Il mio suggerimento e' che usi una cella libera, es Z1, per indicare la riga su cui fai la modifica; poi userai una macro del tipo
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'On Error Resume Next
With ActiveCell
.EntireRow.Interior.ColorIndex = 36
End With
On Error Resume Next
If [Z1] <> Target.Row Then _
Rows([Z1]).Interior.ColorIndex = xlNone
[Z1] = Target.Row
End Sub

Questa elimina dalla riga colorata "in precedenza" qualsiasi impostazione di colore.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [excel -vba] Evidenziare righe se cella è selezionata

Postdi Mars Armada » 13/04/11 15:27

Ti ringrazio Anthony, sempre preciso e puntale.
Credo però di essermi spiegato male o di sbagliare qualcosa. Su ogni riga ho 4 colonne colorate diversamente.
Se seleziono la riga con la macro diventa gialla, ma una volta deselezionata diventa completamente bianca.
Come posso farla tornare ai suoi colori originari: se una cella in quella riga è celeste torni celeste e così via.
Dove sbaglio?
Grazie ancora per la gentilezza.
Mars Armada
Newbie
 
Post: 6
Iscritto il: 12/04/11 15:33

Re: [excel -vba] Evidenziare righe se cella è selezionata

Postdi Anthony47 » 13/04/11 21:55

Credo però di essermi spiegato male o di sbagliare qualcosa. Su ogni riga ho 4 colonne colorate diversamente (. . )
Beh.. piu' che "male spiegato" diciamo che non era proprio detto cosi'…

Comunque:
-se i colori applicati colonna per colonna sono noti, sai che in Z1 hai la riga da ricolorare, quindi (dopo aver messo Coloindex = xlNone) userai qualcosa come Cells([Z1],1).Interior.coloindex = IndiceColonnaA e analogamente nelle altre 3 celle.
-se i colori sono ignoti, allora dovrai salvarli come hai fatto con la Riga scritta in Z1; per questo, se salvi in Z2, Z3, etc allora (prima di applicare Coloindex = 36) userai qualcosa come [Z2]=Cells(Target(Row),1).Interior.Colorindex 'Indice col A ripetuto per le 4 colonne.
Poi, sempre dopo aver messo Coloindex = xlNone, riapplichi i colorindex leggendoli da Z2, Z3, etc.

Se non basta lo spunto allora posta ancora spiegando dove sei arrivato.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [excel -vba] Evidenziare righe se cella è selezionata

Postdi Mars Armada » 14/04/11 08:30

Grazie Anthony sono riuscito!
Scusa cercherò di essere più preciso nelle spiegazioni. Buona giornata.
Mars Armada
Newbie
 
Post: 6
Iscritto il: 12/04/11 15:33


Torna a Applicazioni Office Windows


Topic correlati a "[excel -vba] Evidenziare righe se cella è selezionata":


Chi c’è in linea

Visitano il forum: Nessuno e 73 ospiti

cron