Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA; formatowanie warunkowe

Piotr__11 18 Lut 2010 11:40 8033 11
  • #1 18 Lut 2010 11:40
    Piotr__11
    Poziom 11  

    Wiem, zapewne to banalne pytanie, ale jednak sam nie moge znaleźć odpowiedzi
    Mam kod w VBA do formatowania warunkowego komorki

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    
    Target = Range("A1")
    Select Case Target
    Case 1
    Target.Interior.ColorIndex = 3
    Case 2
    Target.Interior.ColorIndex = 4
    Case 3
    Target.Interior.ColorIndex = 5
    Case 4
    Target.Interior.ColorIndex = 6
    Case 5
    Target.Interior.ColorIndex = 9
    Case Else
    Target.Interior.ColorIndex = 0
    End Select
    End Sub


    Wszystko działa, tylko nie mam pojęcia jaka liczba odpowiada za jaki kolor, a musze ustawić konkretne kolory. Prosze o pomoc.

    0 11
  • #3 18 Lut 2010 11:59
    Piotr__11
    Poziom 11  

    Rzeczywiście jest; dzięki.

    0
  • #4 20 Lut 2010 12:56
    Piotr__11
    Poziom 11  

    Odświeżam; Mam taki kod i potrzebuje ograniczyć go do komorek np: A1:A4

    Code:
      
    
    Private Sub Worksheet_Change(ByVal Target As Range)
         
     
    Dim Cell As Range
        Dim Rng1 As Range
         
        On Error Resume Next
        Set Rng1 = ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 1)
        On Error GoTo 0
        If Rng1 Is Nothing Then
            Set Rng1 = Range(Target.Address)
        Else
            Set Rng1 = Union(Range(Target.Address), Rng1)
        End If
        For Each Cell In Rng1
            Select Case Cell.Value
            Case vbNullString
                Cell.Interior.ColorIndex = xlNone
                Cell.Font.Bold = False
            Case 1
                Cell.Interior.ColorIndex = 5
                Cell.Font.Bold = True
            Case 2
                Cell.Interior.ColorIndex = 6
                Cell.Font.Bold = True
            Case 3
                Cell.Interior.ColorIndex = 7
                Cell.Font.Bold = True
            Case Else
                Cell.Interior.ColorIndex = xlNone
                Cell.Font.Bold = False
            End Select
        Next
         
    End Sub

    0
  • Pomocny post
    #5 20 Lut 2010 17:15
    adamas_nt
    Moderator Programowanie

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    

    Dim Cell As Range
        Dim Rng1 As Range
         
        Set Rng1=Range("A1:A4")
       
        For Each Cell In Rng1
            Select Case Cell.Value
            Case vbNullString
                Cell.Interior.ColorIndex = xlNone
                Cell.Font.Bold = False
            Case 1
                Cell.Interior.ColorIndex = 5
                Cell.Font.Bold = True
            Case 2
                Cell.Interior.ColorIndex = 6
                Cell.Font.Bold = True
            Case 3
                Cell.Interior.ColorIndex = 7
                Cell.Font.Bold = True
            Case Else
                Cell.Interior.ColorIndex = xlNone
                Cell.Font.Bold = False
            End Select
        Next

        Set Rng1=Nothing
    End Sub

    1
  • #6 22 Lut 2010 19:49
    Piotr__11
    Poziom 11  

    Kolego Dziękuje bardzo :)

    0
  • #7 19 Cze 2015 14:38
    fangir
    Poziom 9  

    Witam,
    nie bede zakladac osobnego tematu, ten w zupelnosci wystarczy ;)

    Mam kod, ktory koloruje punkt w serii wykresu, na kolor zdefiniowany w jakiejs komorce.
    Wszystko fajnie, ale jesli komorka jest pokolorowana formatowaniem warunkowym, to kropka na wykresie robi sie biala (bo bez formatowania jest biala)
    Kod wyglada nastepujaco:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    macie pomysł, jak zczytać kolor z formatowania warunkowego? Przeszukalem google, ale nie udalo mi sie rozwiazac problemu :)

    0
  • #8 19 Cze 2015 15:31
    JRV
    Specjalista - VBA, Excel

    Sprobuj

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #9 19 Cze 2015 18:02
    fangir
    Poziom 9  

    Kod dziala - ale koloruje tylko na wybrany z gory warunek (3-zielony, 2-pomaranczowy, 1-czerwony).

    Jest mozliwosc, zeby kolorowac na aktualnie spelniony warunek?

    0
  • #10 19 Cze 2015 20:15
    JRV
    Specjalista - VBA, Excel

    Będzie to sprawdzić wszystkie warunki.
    Z moją zdolność do pisania w języku polskim nie będzie mógł wyjaśnić w szczegółach.
    Taka weryfikacja jest opisane tutaj (w języku angielskim)
    http://www.cpearson.com/excel/CFColors.htm

    0
  • #11 22 Cze 2015 08:53
    fangir
    Poziom 9  

    Zrobilem male obejscie - dodalem dodatkowa tabelke, gdzie komorki sa kolorowane na podstawie wartosci z jeszcze innej tabeli ;)

    Kolory sa brane z posredniej.

    Ale... ;p
    makro koloruje obwodke punktu na wykresie, jak i linie laczaca te punkty.
    Linia laczaca ma byc caly czas koloru szarego, a nie wg koloru komorki.

    Nie mogeznalezc co za to odpowiada :/

    0
  • #12 22 Cze 2015 11:25
    JRV
    Specjalista - VBA, Excel

    Lepiej zobaczyć raz, niż sto razy usłyszeć

    0