Note: The other languages of the website are Google-translated. Back to English

Come collegare automaticamente un colore di cella a un altro in Excel?

Durante l'utilizzo di Microsoft Excel, sai come collegare automaticamente un colore di cella a un altro? Questo articolo ti mostrerà il metodo per ottenerlo.

Collega automaticamente un colore di cella a un altro con il codice VBA


Collega automaticamente un colore di cella a un altro con il codice VBA

Supponendo di voler collegare il colore di riempimento della cella A1 a C1, quando si modifica il colore di riempimento di A1, il colore di C1 diventerà lo stesso automaticamente. Si prega di fare quanto segue.

1. Fare clic con il pulsante destro del mouse sulla scheda del foglio necessaria per collegare un colore di cella a un altro, quindi fare clic Visualizza codice dal menu di scelta rapida.

2. In apertura Microsoft Visual Basic, Applications Edition finestra, copia e incolla il codice VBA sottostante nel file Codice finestra.

Codice VBA: collega automaticamente un colore di cella a un altro in Excel

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Me.Range("C1").Interior.Color = Me.Range("A1").Interior.Color
End Sub

Note:: puoi modificare il riferimento delle celle nel codice di cui hai bisogno.

3. Andare avanti per premere il pulsante altro + Q contemporaneamente i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra.

D'ora in poi, quando si modifica il colore di riempimento della cella A1, il colore di riempimento della cella C1 verrà modificato automaticamente nello stesso colore.


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (48)
Rinomato 4.5 su 5 · Valutazioni 1
Questo commento è stato fatto dal moderatore sul sito
che dire tra fogli nella stessa cartella di lavoro - per favore consigli come cambia la formula? Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ottimo tutorial. Grazie :) !!!!
Questo commento è stato fatto dal moderatore sul sito
si vorrei sapere come specchiare un colore su un altro foglio??? Ho una formula in entrambe le caselle ma vorrei che il colore di quella rispecchiasse il colore sul foglio principale quando cambia. vale a dire.. Il foglio della data di formazione è compreso tra 30 giorni e la casella diventa rossa; la casella corrispondente sulla randa, anche la casella con la "X" diventa rossa.
Questo commento è stato fatto dal moderatore sul sito
Ciao Jessica,
cosa intendi con scatola? Casella di testo?
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per farlo se le due celle si trovano in cartelle di lavoro diverse?
Questo commento è stato fatto dal moderatore sul sito
Ciao Dustin,
Impossibile gestire cartelle di lavoro diverse. Grazie per il tuo commento.
Questo commento è stato fatto dal moderatore sul sito
Ho visto qui, nella spiegazione, come fare per una cella, come fare per poche celle?
Questo commento è stato fatto dal moderatore sul sito
Ciao Rogerio,
Intendi collegare il colore di riempimento di una cella a più celle contemporaneamente?
Questo commento è stato fatto dal moderatore sul sito
y su el la celda A1 tiene un formato condicional ?
Questo commento è stato fatto dal moderatore sul sito
Se le celle sono fogli diversi?
Questo commento è stato fatto dal moderatore sul sito
Ciao Mario,
Supponendo di voler collegare il colore della cella A1 nel foglio di lavoro corrente all'intervallo B1: J19 in Sheet2, applicare il codice VBA sottostante. Dopo aver modificato il colore di riempimento di A1, fare clic su un'altra cella nel foglio di lavoro corrente per attivare il codice.

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg come intervallo
Dim xStrAddress come stringa
xStrAddress = "Foglio2!$B$1:$J$19"
Imposta xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1").Interior.Color
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ha funzionato. Come funzionerebbe se le modifiche A1 nel Foglio1 avvengano a B1 nel Foglio2, ma anche le modifiche A2 nel Foglio1 avvengano a B2 nel Foglio2?
Questo commento è stato fatto dal moderatore sul sito
Ciao Qualcuno può aiutare con la domanda di cui sopra al più presto, ne ho un disperato bisogno e il tempo sta per scadere.
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Il codice VBA seguente può aiutarti a risolvere il problema. Grazie per il tuo commento.

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg come intervallo
Dim xStrAddress come stringa
xStrAddress = "Foglio2!$B$1"
Imposta xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1").Interior.Color
xStrAddress = "Foglio2!$B$2"
Imposta xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A2").Interior.Color
xStrAddress = "Foglio2!$B$3"
Imposta xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A3").Interior.Color
End Sub
Questo commento è stato fatto dal moderatore sul sito
Non è possibile scegliere il codice originale del codice, la versione aggiornata, il nuovo e il messaggio non possono essere accettati)
Questo commento è stato fatto dal moderatore sul sito
Ciao Andrea,
Questo è un intero codice VBA che puoi utilizzare direttamente nel tuo foglio di lavoro. Segui le istruzioni passo dopo passo per aggiungerlo alla finestra del codice corrispondente nell'editor VBA.
Questo commento è stato fatto dal moderatore sul sito
Purtroppo non ha funzionato per me. Mi chiedo se è perché la cella di origine è un elenco con una regola di formattazione condizionale per cambiare i colori di sfondo a seconda dell'opzione selezionata nell'elenco.
Questo commento è stato fatto dal moderatore sul sito
Ciao Amanda,
Questo codice non funziona per il colore di riempimento assegnato dalla regola di formattazione condizionale. Ci dispiace per l'inconvenienza.
Questo commento è stato fatto dal moderatore sul sito
È possibile collegare il colore di una gamma su un foglio a un'altra gamma della stessa dimensione su un foglio diverso? Ad esempio, ho colori alternati ogni paio di righe e voglio che quella combinazione di colori venga copiata su un altro foglio.
Questo commento è stato fatto dal moderatore sul sito
Ciao Charles,
Il codice seguente può farti un favore. Se vuoi collegare il colore dall'intervallo A1:A19 su Foglio1 allo stesso intervallo "A1:A19" su Foglio2, copia il codice nella finestra Codice di Foglio1, dopodiché, fai clic su qualsiasi cella su Foglio1 per attivare il codice. Spero di poter aiutare. Grazie per il tuo commento.

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg come intervallo
Dim xStrAddress come stringa
xStrAddress = "Foglio2!$A$1:$A$19"
Imposta xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1:A19").Interior.Color
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao,
questo codice sembra funzionare se faccio riferimento a una cella ma se inserisco un intervallo, l'intervallo sul foglio 2 diventa nero invece di far fronte al colore interno.

qualche idea sul perché ciò potrebbe accadere?
Questo commento è stato fatto dal moderatore sul sito
Ciao Joey,
Scusa per l'errore. Prova questo codice:

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg come intervallo
Dim xCRg come intervallo
Dim xStrAddress come stringa
Dim xFNum come intero
xStrAddress = "Foglio2!$A$1:$A$10"
Imposta xRg = Application.Range(xStrAddress)
Imposta xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Per xFNum = 1 per xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Successiva
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao Cristallo,
Grazie mille. Funziona perfettamente!
Sei incredibile! O_o
Questo commento è stato fatto dal moderatore sul sito
Ciao Crystal!
Che aspetto ha lo stesso codice se voglio che venga copiato su Foglio2 e Foglio3 contemporaneamente?
Questo commento è stato fatto dal moderatore sul sito
Ciao qualcuno può rispondere a questa domanda. Sto cercando di fare esattamente questo e non ho fortuna.
Questo commento è stato fatto dal moderatore sul sito
questo non funziona per me. Continuo a ricevere l'errore su "errore di compilazione, nome ambiguo rilevato"....
Questo commento è stato fatto dal moderatore sul sito
questo non funziona per me. l'intervallo di celle di maggio non è lo stesso su entrambi i fogli. puoi aiutare a consigliare cosa fare o come regolare il codice pls?
Questo commento è stato fatto dal moderatore sul sito
Ciao LG,
Ci sono due righe che puoi modificare: l'intervallo "$A$1:$A$10" dell'ottava riga, e il "Foglio2!$A$1:$A$10" della sesta riga, che indica che collegherai il colore di riempimento dell'intervallo A1: A10 in un foglio di lavoro (supponendo Sheet1 e il codice deve essere aggiunto a questa finestra del codice del foglio) nello stesso intervallo in Sheet2.
Puoi specificare due diversi intervalli di cui hai bisogno. E assicurati che il nome del foglio che digiti nella sesta riga sia un nome del foglio esistente.
Questo commento è stato fatto dal moderatore sul sito
Sto usando questo per creare modelli di tessitura. Vorrei avere diversi gruppi di gruppi, quindi devo solo cambiare una cella per vedere cosa accadrà nel mio schema. Ha funzionato dalla cella a1 a c1 ma quando ho provato ad aggiungere un nuovo set da a2 a c1 non ha funzionato. Potrei fraintendere, ma ho copiato la stessa formula sotto la prima e ho cambiato i riferimenti di cella. È questo il problema? C'è un altro modo?
Questo commento è stato fatto dal moderatore sul sito
Questo ha funzionato per me quando ho incollato un secondo foglio di riferimento, ma ho dovuto apportare una modifica, mostrerò la modifica di seguito in modo da poter vedere la prima versione di Crystal, quindi la mia con la modifica che ha funzionato quando dovevo invece includere due set di uno. Questo è quello che Crystal ha dato a Joey dopo che ha detto che il range del bersaglio è diventato nero quando l'ha provato:
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg come intervallo
Dim xCRg come intervallo
Dim xStrAddress come stringa
Dim xFNum come intero
xStrAddress = "Foglio2!$A$1:$A$10"
Imposta xRg = Application.Range(xStrAddress)
Imposta xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Per xFNum = 1 per xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Successiva
End Sub
La mia mod che ha funzionato per includere due set (ad esempio fare riferimento a colonne o righe diverse o cosa hai) doveva includere questa parte:
On Error Resume Next
Per xFNum = 1 per xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Successiva
dopo ogni mio "set"
Quindi, senza modificare i set di campioni forniti da Crystal in modo che siano diversi l'uno dall'altro (cosa che probabilmente sarà la tua se stai cercando di fare riferimento a righe diverse ecc.), Sembrerebbe così:
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg come intervallo
Dim xCRg come intervallo
Dim xStrAddress come stringa
Dim xFNum come intero
xStrAddress = "Foglio2!$A$1:$A$10"
Imposta xRg = Application.Range(xStrAddress)
Imposta xCRg = Me.Range("$A$1:$A$10")In caso di errore Riprendi Avanti
Per xFNum = 1 per xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Successiva
xStrAddress = "Foglio2!$A$1:$A$10"
Imposta xRg = Application.Range(xStrAddress)
Imposta xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Per xFNum = 1 per xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Successiva
End Sub

con le righe 6-8 e 13-15 come "insiemi" e le righe 9-12 e 16-19 come codice che deve essere ripetuto dopo ogni serie.
Spero che abbia senso perché non ne so nulla, ho appena trovato un modo per copiare ciò che è stato elencato qui che ha funzionato. La prima volta che ho provato ad avere due set collegandomi al codice così com'è, il primo set ha reso le celle nere e il secondo set ha funzionato e ha trasformato le celle target del colore giusto. Alla fine ho capito che per funzionare, ogni set aveva bisogno del codice della riga 9-12 dopo di esso. Questa mod ha consentito ai colori appropriati di trasferire (nel mio caso) da due colonne diverse sul foglio di origine alle celle corrispondenti all'interno di un determinato intervallo sul foglio di destinazione.
Questo commento è stato fatto dal moderatore sul sito
Come collego i colori di una cella in base al valore e al colore di un'altra cella da collegare automaticamente.

Esempio di forte.



Ho il valore del foglio 1 è 898 e il valore del foglio 2 è 898 e quella cella è di colore rosa. Come posso collegare lo stesso colore in modo che sia lo stesso in base all'indizio è che il foglio 2 sia collegato al foglio 1, in modo che possa mostrare lo stesso colore. Ma sarebbe una gamma; utilizzando l'intera riga per abbinare i suoi valori e quindi collegare i colori.



Qualsiasi aiuto è molto apprezzato
Questo commento è stato fatto dal moderatore sul sito
Ciao esad, ho lo stesso caso con te attualmente, ti sarei grato se condividessi
Questo commento è stato fatto dal moderatore sul sito
Sto cercando di copiare i colori generati da una tabella formattata condizionale, in un'altra tabella, automaticamente con una formula/funzione. È possibile?
Questo commento è stato fatto dal moderatore sul sito
Hy,
Mi piacerebbe che quando cambio manualmente il colore nella colonna A sheet1 cambi automaticamente il colore nella colonna A sheet2.
Chiedo aiuto. Grazie
Questo commento è stato fatto dal moderatore sul sito
Ciao Ivana, per favore prova il codice qui sotto. Private Sub Worksheet_SelectionChange (ByVal Target As Range)
'Aggiornato da Extendoffice 20201127
Dim xRg come intervallo
Dim xCRg come intervallo
Dim xStrAddress come stringa
Dim xFNum come intero
xStrAddress = "Foglio2!$A$1:$A$100"
Imposta xRg = Application.Range(xStrAddress)
Imposta xCRg = Me.Range("$A$1:$A$100")
On Error Resume Next
Per xFNum = 1 per xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Successiva
End Sub
Questo commento è stato fatto dal moderatore sul sito
Buone feste. Como hacer que cuando seleccione una celda se active otra, y si selecciono otro cambiae a otro celda con que este vinculada.Ejemplo: si alecciono A1 se active celda H20, y si doy otro clic se desactive. Se que seria mucho trabajo porque tendria que programar cada celda, pero no importa, es solo saber como hacerlo. Gracias por su apoyo!
Questo commento è stato fatto dal moderatore sul sito
ciao il codice sopra ha funzionato ma non funzionerà più volte in un foglio? 
Questo commento è stato fatto dal moderatore sul sito
Ciao a tutti,

Il mio problema è che la mia home page (1° foglio) contiene un riepilogo delle informazioni fornite nei seguenti fogli. Tutte le celle rilevanti sono state formattate per riflettere il valore delle celle corrispondenti negli altri fogli.

quindi, ad esempio, la cella F7 della home page della mia cella è già formattata, quindi copia il valore della cella corrispondente nel foglio di origine:
=trimestre1!B15

Ora, quello che vorrei davvero è che le celle sulla mia home page corrispondano anche al colore che seleziono manualmente per la cella (origine) corrispondente in un altro foglio. È possibile utilizzare la codifica VBA?

Ho ottenuto il codice seguente da un altro sito ma funziona solo se le celle si trovano sullo stesso foglio.
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Me.Range("C1").Interior.Color = Me.Range("A1").Interior.Color
End Sub

C'è un modo per modificare questo codice per fare riferimento a una cella su un altro foglio nella stessa cartella di lavoro?

Grazie mille per il vostro aiuto!
Questo commento è stato fatto dal moderatore sul sito
Ciao, mi chiedo se puoi aiutarmi per favore
Ho un foglio di calcolo con il nome dei membri del team (17 di loro) nella riga 2
Nella colonna H assegneremmo un'attività a un membro del team
Nella colonna T abbiamo i dati per mostrare in quale fase si trova il membro del team per questo compito (verde/ambra/rosso)
Quello che vorrei fare è portare il colore per il compito da col T a Col H con il nome che avremmo inserito

Qualsiasi aiuto sarebbe molto apprezzato
Questo commento è stato fatto dal moderatore sul sito
Ciao Ann,
Ti dispiacerebbe fornire uno screenshot dei tuoi dati? Ci dispiace per l'inconvenienza.
Questo commento è stato fatto dal moderatore sul sito
Come da allegato
I nomi delle squadre sono nella riga 2 (da R ad AD)
Ogni riga sotto il nome della squadra si riferisce all'attività in Col D
Quello che vorrei è che quando un nome viene inserito in Col L, colora quella cella con il colore dei membri del team col su quella riga
ad esempio in Col L entra Emma, ​​guarda Emma in W1 e porta Green da W2. se fosse Paula, guarderebbe Paula nel T1 e porterebbe l'ambra dal T2 ecc
Il nome inserito rimarrebbe comunque come esempio in L2 e 3

Grazie per l'aiuto
Non sono sicuro di come allegare uno screenshot o un FILE, posso inviarlo via email
Questo commento è stato fatto dal moderatore sul sito
Ciao Ann,
Ho provato alcuni metodi e ancora non riesco a risolvere il tuo problema. Ci dispiace per l'inconvenienza.
Questo commento è stato fatto dal moderatore sul sito
Grazie per averci provato
Questo commento è stato fatto dal moderatore sul sito
Aqui la tiene in inglese


Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg come intervallo
Dim xCRg come intervallo
Dim xStrAddress come stringa
Dim xFNum come intero
xStrAddress = ("Hoja2!A1")
Imposta xRg = Application.Range(xStrAddress)
Imposta xCRg = Me.Range ("A1")
On Error Resume Next
Per xFNum = 1 per xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Successiva
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ho trovato successo usando questa riga di codice:
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg come intervallo
Dim xCRg come intervallo
Dim xStrAddress come stringa
Dim xFNum come intero
xStrAddress = "Foglio2!$A$1:$A$10"
Imposta xRg = Application.Range(xStrAddress)
Imposta xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Per xFNum = 1 per xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Successiva
End Sub

Mi piacerebbe essere in grado di utilizzare un intervallo per influenzarne molti altri all'interno di una sezione di codice. IE, se cambio un colore in $A$1:$A$10, cambia il colore in $C$10:$C$19, $D$21:$D$30 e $F$10:$F$19. È possibile? Grazie.
Questo commento è stato fatto dal moderatore sul sito
Ciao a tutti, chiunque può aiutarmi con lo stesso caso con esad
Non ci sono ancora commenti pubblicati qui
Carica Altre
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL