Skonfiguruj formatowanie warunkowe dla obszaru za pomocą VBA w programie Microsoft Excel

Anonim

W tym artykule stworzymy makro do zastosowania formatowania warunkowego w wybranym obszarze.

Użyliśmy liczb losowych jako przykładowych danych, aby zademonstrować działanie makra.

Makro można wykonać, klikając przycisk „Znajdź Max” na arkuszu „Główne”.

Wyjaśnienie logiczne

Stworzyliśmy makro „ConditionalFormat”, aby zastosować formatowanie warunkowe do wybranego obszaru. To makro podświetla komórkę na fioletowo, która zawiera maksymalną wartość w wybranym obszarze.

Przed wykonaniem tego makra należy zaznaczyć obszar, na którym chce się zastosować formatowanie warunkowe.

Na przykład wybraliśmy zakres komórek od B9 do F17 jako próbkę wybranych danych.

Podczas wykonywania makra po wybraniu obszaru próbki, formatowanie warunkowe jest stosowane do wybranego obszaru, a komórka D16, która zawiera największą wartość (97), zostanie podświetlona na fioletowo.

Teraz weź kolejną próbkę. Jako drugi obszar próbki wybraliśmy zakres od komórki B10 do F13.

Po wybraniu drugiego obszaru próbki, kliknij przycisk „Find Max”, aby uruchomić makro. Formatowanie warunkowe zostanie zastosowane do wybranego obszaru, a komórka C11 zostanie podświetlona na fioletowo, ponieważ zawiera maksymalną wartość (92) w wybranym obszarze.

Po wykonaniu makra dla dwóch różnych próbek, formatowanie warunkowe jest stosowane do obu z nich. W danych próbki obydwie komórki C11 i D16 zostaną podświetlone na fioletowo, ponieważ reprezentują maksymalne wartości w ich odpowiednich próbkach.

Jeśli wartości w którejkolwiek z próbek ulegną zmianie, a jedna z nowo wstawionych wartości jest najwyższą wartością, to komórka z tą konkretną wartością zostanie podświetlona.

Wyjaśnienie kodu

Wybór.Warunki.Formatu.Usuń

Powyższy kod służy do usuwania dowolnego formatowania warunkowego zastosowanego do wybranych danych.

Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _

"=" & Selection.Cells(1).Address(False, False) & "=MAX(" & Selection.Address & ")"

Powyższy kod służy do dodawania nowego formatowania warunkowego. Type określa, że ​​wyrażenie jest używane do zastosowania formatowania warunku. Formuła wyrażenia jest zdefiniowana w Formule1.

Selection.Cells(1).Address(False, False)

Powyższy kod służy do odniesienia adresu pierwszej komórki w zaznaczeniu.

"=" & Selection.Cells(1).Address(False, False) & "=MAX(" & Selection.Address & ")"

Powyższy kod służy do porównania wartości pierwszej zaznaczonej komórki z maksymalną wartością zaznaczenia.

Selection.FormatConditions(1).Interior.ColorIndex = 39

Powyższy kod służy do przypisania fioletowego koloru do komórki, która spełnia warunek formatowania.

Proszę postępować zgodnie z poniższym kodem!

 Sub ConditionalFormat() With Selection 'Usuń poprzednie formatowanie warunkowe .FormatConditions.Delete 'dodaj formatowanie warunkowe do zaznaczonej komórki .FormatConditions.Add Type:=xlExpression, Formula1:= _ "=" & Selection.Cells(1).Address(False , False) & "=MAX(" & Selection.Address & ")" 'Przypisywanie koloru fioletowego dla formatowania warunkowego .FormatConditions(1).Interior.ColorIndex = 39 End With End Sub 

Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.

Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail