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

Hur ändrar jag värde baserat på cellfärg i Excel?

Den här artikeln talar om att ändra cellvärde automatiskt baserat på dess bakgrundsfärg i Excel. Till exempel, om celler som fylls med röd bakgrundsfärg i markeringen, fyller du i dessa celler med nummer 1 och för de blå bakgrundsfärgscellerna fyller du i nummer 0.

Ändra värde baserat på cellfärg med VBA-kod


Ändra värde baserat på cellfärg med VBA-kod

Du kan köra nedanstående VBA-kod för att ändra värde baserat på cellfärg i Excel. Gör så här.

1. Välj det intervall du behöver för att ändra värden baserat på bakgrundsfärg och tryck sedan på andra + F11 samtidigt för att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer fönstret klickar Insert > Modulerna, kopiera och klistra in nedanstående VBA-kod i modulfönstret.

VBA-kod: Ändra värde baserat på cellfärg i Excel

Sub ChangeValueBasedOnCellColor()
    Dim rg As Range
    Dim xRg As Range
    Set xRg = Selection.Cells
    Application.DisplayAlerts = False
    For Each rg In xRg
        With rg
            Select Case .Interior.Color
                Case Is = 255 'Red
                    .Value = 1
                Case Is = 15773696 'Blue
                    .Value = 0
            End Select
        End With
    Next
    Application.DisplayAlerts = False
End Sub

3. tryck på F5 för att köra koden, då kan du se att alla röda celler i det valda intervallet är fyllda med nummer 1 och de blå cellerna är fyllda med nummer 0 enligt nedanstående skärmdump.

 

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 (11)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Vilka ändringar i koden skulle behövas om du ville att detta skulle gälla textfärgen i en cell, snarare än cellfärgen?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag funderar på att ge en cell ett namn baserat på färgen i ett kalkylblad. dvs om en cell är röd så får den namnet "namn", om den är orange så får den namnen "efternamn" osv.



Vilken kod skulle behöva ändras för att få intervallet som hela arket/fliken och ett namn istället för ett värde?
Denna kommentar minimerades av moderatoren på webbplatsen
Excel verkar krascha när jag försöker köra VBA-koden. Ser ut som en byst.
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,
Koden fungerar bra i mitt fall. Kan du berätta din Excel-version? Tack för din kommentar.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag är i samma båt och försöker köra detta men koden verkar ha hängt sig. Excel 2016.
Denna kommentar minimerades av moderatoren på webbplatsen
är det möjligt att justera den här koden baserat på cellernas villkorliga formateringsregel?
Denna kommentar minimerades av moderatoren på webbplatsen
Koden fungerar bra för mig, men jag skulle behöva skriva om koden för att passa färger som är specifika för mitt dokument. Men jag vet inte vilken kod "mina färger" har, någon som vet var kan hitta koder för andra färger?
Denna kommentar minimerades av moderatoren på webbplatsen
Hur kör du det, jag springer men ingenting verkar hända
Denna kommentar minimerades av moderatoren på webbplatsen
Du kan ersätta färger till värden genom att helt enkelt använda funktionen Sök och ersätt. Gå till formatfunktionen på höger sida av dialogrutan Sök och ersätt och sedan under "Fyll" kan du välja vilken färg du har. Sedan på "ersätt med" skriver du bara det värde du vill ha.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag stötte på denna lucky strike som var till hjälp men jag vet inte var man kan hitta en fullständig katalog!
http://cdn-0.access-excel.tips/wp-content/uploads/2015/08/excel_vbcolor_10.png 
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det ett sätt att göra detta, men har det automatiskt gå igenom flera filer?
För sammanhang skickades frågeformulär till ett par hundra anläggningar, deras valda MC-svar motsvarar en färg som indikerar poäng (t.ex. grönt är bra, rött är dåligt), och ändra innehållet i cellen (med en process som i denna tråd) till något som R eller annan programvara kunde läsa, och sedan använda det för att generera automatiska rapporter. Jag skulle kunna gå igenom var och en av dessa filer med det här makrot (eller en helt annan idé), men det skulle ta lång tid.
Det finns inga kommentarer här ännu

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