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

Jak zmienić wartość na podstawie koloru komórki w programie Excel?

W tym artykule mowa o automatycznej zmianie wartości komórki na podstawie jej koloru tła w programie Excel. Na przykład, jeśli zaznaczone komórki wypełniają się czerwonym kolorem tła, wypełnij te komórki liczbą 1, a dla komórek z niebieskim tłem - liczbą 0.

Zmień wartość na podstawie koloru komórki za pomocą kodu VBA


Zmień wartość na podstawie koloru komórki za pomocą kodu VBA

Możesz uruchomić poniższy kod VBA, aby zmienić wartość na podstawie koloru komórki w programie Excel. Wykonaj następujące czynności.

1. Wybierz zakres, w którym chcesz zmienić wartości w oparciu o kolor tła, a następnie naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł, a następnie skopiuj i wklej poniższy kod VBA do okna modułu.

Kod VBA: Zmień wartość na podstawie koloru komórki w programie 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. wciśnij F5 Aby uruchomić kod, możesz zobaczyć, że wszystkie czerwone komórki w wybranym zakresie są wypełnione numerem 1, a niebieskie komórki są wypełnione numerem 0, jak pokazano poniżej.

 

Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (11)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Jakie zmiany w kodzie byłyby potrzebne, jeśli chcesz, aby dotyczyło to koloru tekstu komórki, a nie koloru komórki?
Ten komentarz został zminimalizowany przez moderatora na stronie
Chcę nadać komórce nazwę na podstawie koloru w jednym arkuszu. np. jeśli komórka jest czerwona to otrzymuje nazwę "imię", jeśli jest pomarańczowa to otrzymuje imiona "nazwisko" itp.



Jaki kod musiałby się zmienić, aby zakres obejmował cały arkusz/kartę i nazwę zamiast wartości?
Ten komentarz został zminimalizowany przez moderatora na stronie
Wygląda na to, że program Excel zawiesza się za każdym razem, gdy próbuję uruchomić kod VBA. Wygląda na biust.
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzień dobry,
Kod działa dobrze w moim przypadku. Czy możesz mi podać swoją wersję Excela? Dziękuję za Twój komentarz.
Ten komentarz został zminimalizowany przez moderatora na stronie
Jestem na tej samej łodzi, próbuję uruchomić to, ale kod wydaje się zawieszony. Excel 2016.
Ten komentarz został zminimalizowany przez moderatora na stronie
czy można dostosować ten kod na podstawie reguły formatowania warunkowego komórek?
Ten komentarz został zminimalizowany przez moderatora na stronie
Kod działa dla mnie dobrze, ale musiałbym przepisać kod, aby pasował do kolorów specyficznych dla mojego dokumentu. Ale nie wiem, jaki kod mają „moje kolory”, ktoś, kto wie, gdzie może znaleźć kody dla innych kolorów?
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak to prowadzisz, biegnę, ale wydaje się, że nic się nie dzieje
Ten komentarz został zminimalizowany przez moderatora na stronie
Możesz zamienić kolory na wartości, po prostu używając funkcji Znajdź i zamień. Przejdź do funkcji formatowania po prawej stronie okna dialogowego Znajdź i zamień, a następnie pod „Wypełnij” możesz wybrać kolor, który masz. Następnie w polu „zamień na” wpisz żądaną wartość.
Ten komentarz został zminimalizowany przez moderatora na stronie
Natknąłem się na to szczęście, które było pomocne, ale nie wiem, gdzie znaleźć pełny katalog!
http://cdn-0.access-excel.tips/wp-content/uploads/2015/08/excel_vbcolor_10.png 
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy jest na to sposób, ale czy automatycznie przechodzi przez wiele plików?
Dla kontekstu, ankiety zostały wysłane do kilkuset placówek, ich odpowiedź MC odpowiada kolorowi wskazującemu na wynik (np. zielony to dobry, czerwony to zły) i zmień zawartość komórki (za pomocą procesu jak w tym wątku) na coś, co R lub inne oprogramowanie może odczytać, a następnie użyć tego do generowania automatycznych raportów. Mógłbym przejrzeć każdy z tych plików tym makrem (lub zupełnie innym pomysłem), ale zajęłoby to dużo czasu.
Nie ma tu jeszcze żadnych komentarzy

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL