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

Hur ställer jag in cellfärger lika med en annan cellfärg i Excel?

Om du vill matcha en cellfärg till en annan kan en metod i den här artikeln hjälpa dig.

Ställ in cellfärg lika med en annan cellfärg med VBA-kod


Ställ in cellfärg lika med en annan cellfärg med VBA-kod

Nedanstående VBA-metod kan hjälpa dig att ställa in en cellfärg som är lika med en annan i Excel. Gör så här.

1. I kalkylbladet måste du matcha färgen på två celler, högerklicka på arkfliken och klicka sedan på Visa kod från högerklickmenyn. Se skärmdump:

2. I öppningen Microsoft Visual Basic för applikationer måste du kopiera och klistra in VBA-kod i kodfönstret.

VBA-kod: Ställ in cellfärg lika med en annan cellfärg

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

Anmärkningar: I koden är A1 cellen som innehåller fyllningsfärgen du matchar C1. Ändra dem baserat på dina behov.

Sedan fylls cellen C1 med samma färg på cell A1 som nedan visas skärmdump.

Från och med nu, när fyllningsfärg i A1 ändras, matchas C1 automatiskt med samma färg.


Relaterade artiklar:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (19)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, cellen som refereras till för färg ändrar färg baserat på villkorlig formatering. Ovanstående verkar inte fungera med det och destinationscellerna förblir tomma. Hur kan detta korrigeras? Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har samma problem. Fungerar på celler utan villkorlig formatering men gör det inte med de som gör det
Denna kommentar minimerades av moderatoren på webbplatsen
Om du har Excel 2010 eller senare kan du använda funktionen DisplayFormat för att returnera färgen på en villkorligt formaterad cell. Se nedan:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("C1").Interior.Color = Me.Range("A1").DisplayFormat.Interior.Color
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
LP du är helt FANTASTISK!!!!!!Jag försökte under den längsta tiden att få celler att matcha bakgrundsfärgen för villkorlig formatering! du är en livräddare!!!
Denna kommentar minimerades av moderatoren på webbplatsen
kan detta göras på cellområdet eller bara för en enda cell?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, skulle det vara möjligt att utöka detta till en villkorlig formatering; inte för att matcha en färg skapad av villkorligt format, men om ett villkorligt formatvillkor matchas, att det tillämpade villkorliga formatet antar färgen av en specifik cell. Försöker använda detta i ett gantt-diagram, färgar dagarna mellan start- och slutdatum, men det villkorliga formatet som genererar gantt-staplarna, bör ha färgen på cellen som innehåller uppgiften (som jag ställer in manuellt)
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, skulle du vilja skriva en kod för att tillämpa villkorlig formatering från en kolumn med data till nästa kolumn? I kolumn A har jag en serie data från A1 till A1000 inklusive villkorlig formatering som tillämpar färg i några av cellerna. Jag måste tillämpa dessa färger på värdena i nästa kolumn B1 till B1000.
väldigt uppskattat.
Denna kommentar minimerades av moderatoren på webbplatsen
hej, hur man använder samma VBA men på en rad celler till exempel:

jag vill ha samma färg på intervallet (C8:X8) som ska appliceras på intervallet (S16:AL16) en efter en i samma ordning (S16 får färgen på C16, T16 får färgen på D8 .... etc)
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,

VBA-koden nedan kan hjälpa dig att lösa problemet. Tack för din kommentar.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xSRg, xDRg, xISRg, xIDRg Som intervall
Dim xFNum As Long
On Error Resume Next
Ställ in xSRg = Range("C8:X8")
Ställ in xDRg = Range("S16:AL16")
För xFNum = 1 Till xSRg.count
Ställ in xISRg = xSRg.Item(xFNum)
Ställ in xIDRg = xDRg.Item(xFNum)
xIDRg.Interior.Color = xISRg.Interior.Color
Nästa xFNum
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Hi

Jag försöker göra liknande, men jag har två kalkylblad (filer). Kalkylblad 1 är mastern där data uppdateras manuellt och filen (kalkylblad 2) motsvarar data i samma cell som kalkylblad 1. När jag öppnar kalkylblad 2 får jag en uppmaning att uppdatera med kalkylblad 1 inga problem, men om färgen på cellen har ändrats i kalkylblad 1 den uppdateras inte i kalkylblad 2, inte heller "genomstreckning" av teckensnitt.. hjälp tack?
Denna kommentar minimerades av moderatoren på webbplatsen
Det här är en bra start på det jag vill göra. Men jag letar efter något lite mer komplicerat

Hur skulle jag kunna anpassa detta för att gälla flera rader och ett intervall. Till exempel har jag en rubrikkolumn i kolumn B, jag vill att celler från G till CS ska matcha färgen på rubrikraden, men bara de har något i sig, dvs bokstaven x. Jag vet att jag kan skriva en IF och THEN-sats men hur skulle jag tillämpa den på flera rader utan att skriva en kod för varje rad.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Zack,
Jag kan tyvärr inte hjälpa dig med det. Har du frågor om Excel, tveka inte att skriva i vårt forum: https://www.extendoffice.com/forum.html.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag hittade din kod för att "ställa in cellfärg till lika med en annan cellfärg" och den fungerar när jag använder den på samma kalkylblad (ex från cell A1 till cell A2). Jag undrar om det finns ett sätt att ha samma sak funktionalitet från ett annat kalkylblad (exempelvis att kopiera cellfärg från ark1!A1 till ark2!A1? All hjälp du kan erbjuda skulle uppskattas!
Denna kommentar minimerades av moderatoren på webbplatsen
Som Chris är jag intresserad av att kopiera bakgrundsfärgen från ett annat kalkylblad?
Denna kommentar minimerades av moderatoren på webbplatsen
Wow - det här är bra. Jag hoppas att du kan hjälpa mig att anpassa ditt manus till mina behov. Jag måste få cellerna D10:D200 att matcha den villkorligt formaterade färgen i cellerna A10:A200 - kan du hjälpa mig att få det här att fungera. Cellerna finns alla i samma kalkylblad.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har bifogat en skärmdump av filen jag arbetar med - jag verkar inte kunna ladda upp en .xlsm-fil? I den här filen har jag använt den ursprungliga VBA från denna tråd och kan nu matcha den villkorligt formaterade färgen i cell A10 i D10. Hur kan jag få detta att fungera på en rad celler? Jag skulle vilja få färgen på cellområdet A10:A200 som ska överföras till D10:D200. Kan någon hjälpa snälla? Det finns en rullgardinslista som används i A-kolumnen, men när vi har lagt en beställning måste vi kunna överskriva inköpsordernumret. Objekten i listan är alla inställda för att villkorligt formatera till en färg (t.ex. ORDER OK blir cellgrön, CLIENT TBC blir cellgul) men färgen blir tom när PO har lagts in.
Denna kommentar minimerades av moderatoren på webbplatsen
bilden laddades inte upp - förhoppningsvis bifogad nu....
Denna kommentar minimerades av moderatoren på webbplatsen
Hej -- Jag har svårt att använda din kod. Jag försöker göra precis som du säger. Gör en cell i samma färg som en annan cell (utan att några värden behövs) på samma ark. Finns det något i den koden som bör justeras?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag försöker ändra komceller så att de matchar en annan som har formaterats villkorligt. Din kod 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("C1").Interior.Color = Me.Range("A1").DisplayFormat.Interior.Color
End Sub
jag anpassade mig till
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A2:C2").Interior.Color = Me.Range("D2").DisplayFormat.Interior.Color
End Sub

Detta fungerar bra för bara en rad. Hur får jag det att fungera i alla rader jag behöver? Om jag upprepar koden med nästa rad
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A3:C3").Interior.Color = Me.Range("D3").DisplayFormat.Interior.Color
End Sub

Sedan får jag ett kompileringsfel: Tvetydigt namn upptäckt: Worksheet_SelectionChange
Jag försökte ha koden somPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A2:C10").Interior.Color = Me.Range("D2:D10").DisplayFormat.Interior.ColorEnd Sub

Men alla rader fylldes bara i svart istället för de färger som krävdes. Vilken kodning behöver jag?
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL