ID tematu: 27763
 |
Formatowanie warunkowe w tabeli |
| Autor |
Wiadomość |
Fije
EXCELent Man

Posty: 109
|
Wysłany: 2012-02-02, 17:12 Formatowanie warunkowe w tabeli
|
|
|
Witam. W tabeli mam 3 formatowania warunkowe. Pierwsze podświetla na żółto cały wiersz jeśli zaznaczy sie X w kolumnie O. Drugie w kolumnie N podświetla na zielono lub czerwono dane w zależości od wyniku. I trzecie w kolumnie Q w zależności od litery K/N nadaje kolor zielony lub czerwony. Problem w tym, że to pierwsze formatowanie wpływa na pozostałe. Czy da się tak zrobić aby nie zmieniało pozostałych?
Ponadto, znalazłem taki kod, który zaznacza aktywny wiersz, chciałem go zostosować w tej tabeli, tylko on rozwala całe formatowanie warunkowe, czy da się to jakoś połączyć, aby formatowanie się nie psuło.
| Kod: | Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iColor As Integer
On Error Resume Next
iColor = Target.Interior.ColorIndex
If iColor < 0 Then
iColor = 36
Else
iColor = iColor + 1
End If
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1
Cells.FormatConditions.Delete
With Range("a" & Target.Row, "n" & Target.Row)
.FormatConditions.Add Type:=2, Formula1:=True
.FormatConditions(1).Interior.ColorIndex = iColor
End With
End Sub
|
Tabela_T1.rar
|
Pobierz Plik ściągnięto 23 raz(y) 24.71 KB |
|
_________________ Fije |
|
 | ID posta:
147171
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
M.P.
Fan Excela

Pomógł: 22 razy Posty: 62
|
Wysłany: 2012-02-04, 23:52
|
|
|
Witam,
wybierz 'Formatoranie warunkowe' -> 'Zarządzaj regułami' -> tam przestaw opcje 'Pokaż reguły formatowania dla' na wartość 'Ten arkusz' a następnie na liście wszystkich reguł formatowania warunkowego wyłącz opcje 'Zatrzymaj gdy warunek jest prawdziwy' wszędzie tam gdzie masz te żółte tło ustawione i będzie śmigać ;] |
_________________ kurde, zieloni, dajcie coś rozwiązać... :P |
|
 | ID posta:
147498
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
Fije
EXCELent Man

Posty: 109
|
Wysłany: 2012-02-06, 21:33
|
|
|
| Dzięki, za pomoc, pomogło. Teraz jeszcze kwestia tego makra, bo w dalszym ciągu zmienia formatowanie, da sie cos z tym zrobić? |
_________________ Fije |
|
 | ID posta:
147669
|
|
|
 |
leda
ExcelSpec


Pomogła: 131 razy Posty: 190
|
Wysłany: 2012-02-07, 00:15
|
|
|
Witaj Fije,
Sprawdź załącznik czy to Cię zadowoli. Makra znajdują się w module arkuszowym „Arkusz1”. Wejście do projectu vba (Alt+F11). Jeżeli zmienisz rozmiary tabeli to musisz to uwzględnić w w kodach
Pozdrawiam
Formatowanie warunkowe.rar
|
Pobierz Plik ściągnięto 12 raz(y) 10.31 KB |
|
_________________ LEDA |
|
 | ID posta:
147686
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
TOMEK1970
ExcelSpec


Pomógł: 182 razy Posty: 476
|
Wysłany: 2012-02-07, 00:21
|
|
|
Makro zmienione - nie wyrzuca już formatowania, tylko koloruje zaznaczony wiersz zmieniając dodatkowo kolor liter i cyfr w nim zawartych. Z racji tego że formatowanie warunkowe jest nadrzędne wobec kolorowania komórek, w komórkach, które mają kolor nadany formatem warunkowym widoczna będzie tylko zmiana koloru tekstu. I jeszcze jedno, makro usuwa z arkusza każdy kolor komórki i tekstu nadany ręcznie, za wyjątkiem nagłówka tabeli, który został zadeklarowany na stałe.
| Kod: | Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iColor As Integer
Application.ScreenUpdating = False
On Error Resume Next
iColor = Target.Interior.ColorIndex
If iColor < 0 Then
iColor = 6
Else
iColor = iColor + 1
End If
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1
Cells.Interior.ColorIndex = 0
Cells.Font.Color = 1
With Range("a" & Target.Row, "n" & Target.Row)
.Interior.ColorIndex = iColor
.Font.ColorIndex = 23
End With
Range("A4:Q4").Interior.ColorIndex = 37
Application.ScreenUpdating = True
End Sub | Zobacz do załącznika:
Tabela_T1T.zip
|
Pobierz Plik ściągnięto 17 raz(y) 21.46 KB |
|
_________________ Pozdrawiam
Tomek |
|
 | ID posta:
147688
|
|
|
 |
Fije
EXCELent Man

Posty: 109
|
Wysłany: 2012-02-08, 15:51
|
|
|
Dzięki za przedstawione pomysły. Co do filtrowania Tomka, to mogłoby tak być, tylko czy da się usunąć zmienianie kolorów. Mianowicie jak się stanie w jakieś komórce to wiadomo, podświetla się rząd na żółto, ale jak kliknę dalej na komórkę inną w tym samym wierszu to podświetlenie zmienia się na inny kolor i każda kolejna komórka ma inny kolor. Najlpeiej aby zawsze było żółte.
Co do rozwiązania Ledy to też b.dobre, tylko jak zmieniłem zakres tabeli to wiersze poniżej 17-go zaznaczają się na żółto ale już żółte zostają na stałe. Co źle robię, co tam jeszcze należy zmienić?
Pozdr. |
_________________ Fije |
|
 | ID posta:
147899
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
TOMEK1970
ExcelSpec


Pomógł: 182 razy Posty: 476
|
Wysłany: 2012-02-08, 16:17
|
|
|
| Fije napisał/a: | | tylko czy da się usunąć zmienianie kolorów | Tego nie zauważyłem, klikałem zawsze na inny wiersz .
W miejsce starego kodu wklej to:
| Kod: | Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iColor As Integer
Application.ScreenUpdating = False
On Error Resume Next
iColor = Target.Interior.ColorIndex
If iColor < 0 Then
iColor = 6
End If
Cells.Interior.ColorIndex = 0
Cells.Font.Color = 1
With Range("a" & Target.Row, "n" & Target.Row)
.Interior.ColorIndex = iColor
.Font.ColorIndex = 23
End With
Range("A4:Q4").Interior.ColorIndex = 37
Application.ScreenUpdating = True
End Sub | Została usunięta deklaracja zmieniająca kolor, gdy zaznaczony wiersz ma już żółty kolor, teraz powinno działać tak jak chcesz. |
_________________ Pozdrawiam
Tomek |
|
 | ID posta:
147903
|
|
|
 |
Fije
EXCELent Man

Posty: 109
|
Wysłany: 2012-02-08, 16:20
|
|
|
| Teraz gra jak należy, dzięki. |
_________________ Fije |
|
 | ID posta:
147905
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
leda
ExcelSpec


Pomogła: 131 razy Posty: 190
|
Wysłany: 2012-02-09, 10:45
|
|
|
Witaj Fije,
Należało poprawić nie tylko zakres tabeli dla Intersect ale również dokonać takiej samej zmiany dla zmiennej ostatni wiersz „ostW”. Możesz również dla lepszego zobrazowania w „Twoim” makrze zmienić indeks koloru z 36 na np. 34 i wtedy wyselekcjonowany wiersz będzie miał kolor jasno niebieski a nie jasno żółty (będzie wiadomo, że nie jest to formatowanie dla wiersza a tylko wyselekcjonowanie go). Patrz opis w załączniku.
Pozdrawiam
Formatowanie warunkowe_Bis.zip
|
Pobierz Plik ściągnięto 17 raz(y) 11.45 KB |
|
_________________ LEDA |
|
 | ID posta:
147989
|
|
|
 |
|
|