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

Cum se setează culoarea celulei egală cu altă culoare a celulei în Excel?

Dacă doriți să potriviți o culoare a celulei cu alta, o metodă din acest articol vă poate ajuta.

Setați culoarea celulei egală cu o altă culoare a celulei cu codul VBA


Setați culoarea celulei egală cu o altă culoare a celulei cu codul VBA

Metoda VBA de mai jos vă poate ajuta să setați o culoare a celulei egală cu alta în Excel. Vă rugăm să faceți următoarele.

1. În foaia de lucru trebuie să se potrivească culoarea a două celule, faceți clic dreapta pe fila foaie, apoi faceți clic pe Afișați codul din meniul cu clic dreapta. Vedeți captura de ecran:

2. În deschidere Microsoft Visual Basic pentru aplicații fereastră, trebuie să copiați și să lipiți codul VBA în fereastra Cod.

Cod VBA: setați culoarea celulei egală cu o altă culoare a celulei

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

notițe: În cod, A1 este celula conține culoarea de umplere pe care o veți potrivi cu C1. Vă rugăm să le schimbați în funcție de nevoile dvs.

Apoi, celula C1 este umplută cu aceeași culoare a celulei A1 ca imaginea de mai jos prezentată.

De acum înainte, când se schimbă culoarea de umplere în A1, C1 va fi asortat automat cu aceeași culoare.


Legate de articole:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (19)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, celula la care se face referire pentru culoare își schimbă culoarea pe baza formatării condiționate. Cele de mai sus nu pare să funcționeze cu asta și celulele de destinație rămân goale. Cum poate fi corectat acest lucru? Mulțumiri
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am aceeasi problema. Funcționează pe celule fără formatare condiționată, dar nu cu cele care o fac
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dacă aveți Excel 2010 sau o versiune ulterioară, puteți utiliza funcția DisplayFormat pentru a returna culoarea unei celule formatate condiționat. Vezi mai jos:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("C1").Interior.Color = Me.Range("A1").DisplayFormat.Interior.Color
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
LP, ești absolut UIMITOARE!!!!!!Am încercat cel mai mult timp să fac celulele să se potrivească cu culoarea de fundal cu formatare condiționată! esti un salvator!!!
Acest comentariu a fost redus la minimum de moderatorul de pe site
se poate face acest lucru pe o gamă de celule sau doar pentru o singură celulă?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, ar fi posibil să extindem acest lucru la o formatare condiționată; să nu se potrivească cu o culoare creată prin format condiționat, dar dacă se potrivește o condiție de format condiționat, formatul condiționat aplicat ia culoarea unei anumite celule. Încercarea de a folosi acest lucru într-o diagramă Gantt, colorând zilele dintre data de început și data de sfârșit, dar formatul condiționat care generează barele Gantt, ar trebui să ia culoarea celulei care conține Sarcina (pe care am setat-o ​​manual)
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, ați putea scrie un cod pentru a aplica formatarea condiționată dintr-o coloană de date în coloana următoare? În coloana A, am o serie de date de la A1 la A1000, inclusiv formatarea condiționată care aplică culoarea în unele celule. Trebuie să aplic acele culori la valorile din următoarea coloană B1 până la B1000.
foarte apreciat.
Acest comentariu a fost redus la minimum de moderatorul de pe site
salut, cum se aplică același VBA, dar pe o serie de celule, de exemplu:

Vreau ca aceeași culoare a gamei (C8:X8) să fie aplicată pe gama (S16:AL16) una câte una în aceeași ordine (S16 obține culoarea lui C16, T16 obține culoarea D8 .... etc)
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,

Codul VBA de mai jos vă poate ajuta să rezolvați problema. Multumesc pentru comentariul tau.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xSRg, xDRg, xISRg, xIDRg As Range
Dim xFNum As Long
La data de eroare CV următoare
Set xSRg = Range("C8:X8")
Setați xDRg = Interval("S16:AL16")
Pentru xFNum = 1 To xSRg.count
Setați xISRg = xSRg.Item(xFNum)
Setați xIDRg = xDRg.Item(xFNum)
xIDRg.Interior.Color = xISRg.Interior.Color
Următorul xFNum
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi

Încerc să fac similar, dar am două foi de calcul (fișiere). Foaia de calcul 1 este principalul în care datele sunt actualizate manual și fișierul (foaia de calcul 2) este egală cu datele din aceeași celulă cu foaia de calcul 1. Când deschid foaia de calcul 2, primesc o solicitare de reîmprospătare cu foaia de calcul 1, fără probleme, dar dacă culoarea celulei este schimbată în foaia de calcul 1, nu se actualizează în foaia de calcul 2, nici „strike-trough” de fonturi..ajutor vă rog?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acesta este un început bun pentru ceea ce vreau să fac. Dar caut ceva ceva mai complicat

Cum aș putea adapta acest lucru pentru a se aplica la mai multe rânduri și un interval. De exemplu, am o coloană antet în coloana B, vreau ca celulele de la G la CS să se potrivească cu culoarea rândului antet, dar numai că au ceva în ele, adică litera x. Știu că pot scrie o instrucțiune IF și THEN, dar cum l-aș aplica la mai multe rânduri fără a scrie un cod pentru fiecare rând.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Zack,
Îmi pare rău că nu te pot ajuta cu asta. Orice întrebare despre Excel, vă rugăm să nu ezitați să postați pe forumul nostru: https://www.extendoffice.com/forum.html.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am găsit codul dvs. pentru a „seta culoarea celulei la egală cu o altă culoare a celulei” și funcționează când îl folosesc pe aceeași foaie de lucru (de exemplu, de la celula A1 la celula A2). Mă întreb dacă există o modalitate de a avea același lucru funcționalitate dintr-o altă foaie de lucru (de exemplu, pentru a copia culoarea celulei din foaia1!A1 în foaia2!A1? Orice ajutor pe care l-ați putea oferi ar fi apreciat!
Acest comentariu a fost redus la minimum de moderatorul de pe site
În calitate de Chris, sunt interesat să copiez culoarea de fundal dintr-o altă foaie de lucru?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Wow - asta e grozav. Sper că mă puteți ajuta să vă adaptez scenariul la nevoile mele. Trebuie să fac celulele D10:D200 să se potrivească cu culoarea formatată condiționat a celulelor A10:A200 - mă puteți ajuta să funcționez, vă rog. Celulele sunt toate în aceeași foaie de lucru.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am atașat o captură de ecran a fișierului la care lucrez - se pare că nu pot încărca un fișier .xlsm? În acest fișier am folosit VBA original din acest fir și acum pot potrivi culoarea formatată condiționat a celulei A10 în D10. Cum pot face ca acest lucru să funcționeze pe o serie de celule? Aș dori să transfer culoarea gamei de celule A10:A200 la D10:D200. Poate cineva ajuta va rog? Există o listă derulantă în uz în coloana A, dar odată ce am plasat o comandă, trebuie să putem supratasta numărul comenzii de achiziție. Elementele din listă sunt toate setate pentru a fi formatate condiționat la o culoare (de exemplu, ORDER OK devine celula verde, CLIENT TBC devine celula galbenă), dar culoarea devine goală odată ce OP a fost introdus.
Acest comentariu a fost redus la minimum de moderatorul de pe site
imaginea nu a fost încărcată - sperăm atașată acum....
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, îmi este greu să folosesc codul dvs. Încerc să fac exact ceea ce spui. Faceți ca o celulă să aibă aceeași culoare cu o altă celulă (fără să fie necesare valori) pe aceeași foaie. Există ceva în acel cod care ar trebui ajustat?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Încerc să schimb celulele venite pentru a se potrivi cu altele care au fost formatate condiționat. Codul tau 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("C1").Interior.Color = Me.Range("A1").DisplayFormat.Interior.Color
End Sub
m-am adaptat la
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A2:C2").Interior.Color = Me.Range("D2").DisplayFormat.Interior.Color
End Sub

Funcționează bine doar pentru un singur rând. Cum fac ca acest lucru să funcționeze în toate rândurile de care am nevoie? Dacă repet codul cu următorul rând
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A3:C3").Interior.Color = Me.Range("D3").DisplayFormat.Interior.Color
End Sub

Apoi primesc o eroare de compilare: Nume ambiguu detectat: Worksheet_SelectionChange
Am încercat să am codul ca Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A2:C10").Interior.Color = Me.Range("D2:D10").DisplayFormat.Interior.ColorEnd Sub

Dar toate rândurile au umplut doar negru, mai degrabă decât culorile necesare. Ce codare am nevoie?
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL