Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 27763 Skopiuj do schowka 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 Skopiuj do schowka
 
 

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 Skopiuj do schowka
 
 

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 Skopiuj do schowka
 
 
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 Skopiuj do schowka
 
 

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 Skopiuj do schowka
 
 
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 Skopiuj do schowka
 
 

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 :lol: .
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 Skopiuj do schowka
 
 
Fije 
EXCELent Man


Posty: 109
Wysłany: 2012-02-08, 16:20   

Teraz gra jak należy, dzięki.
_________________
Fije
ID posta: 147905 Skopiuj do schowka
 
 

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 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum