Sekme Rengini Değiştiren Makro Yazma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Excel'imde Kutols ekli bununla da yapılır derseniz öğrenmek isterim.
Nasıl yapılır yardımcı olursanız sevinirim.
Ayrıntı: 50 adet sekmem var, herbir sekmede aynı formlardan var. Sekme rengim gri, Her sekme için B4 hücresinde veri girişi metin olarak varsa sekme rengi mavi yoksa gri veya renk olmasın istiyorum. Şimdiden teşekkürler. Yardımcı olursanız çooook memnun olurum.
 
Merhaba,
Makrodan hiç anlamıyorum fakat biraz araştırma ve kurcalamayla şöyle birşey hazırladım.
Ama dinamik olarak çalışmıyor. Makroyu elle çalıştırmak gerekiyor.
Eminim ki makrocu üstadlarımız olması gerektiği şeklindeki kodu paylaşırlar.
VBA:
Sub sekmerengi()
    For Each Worksheet In ThisWorkbook.Worksheets
        If WorksheetFunction.CountA(Worksheet.Range("B4")) > 0 Then
            Worksheet.Tab.ColorIndex = 5
        Else
           Worksheet.Tab.ColorIndex = xlNone
        End If
    Next
   
    MsgBox "Renklendirme tamamlanmıştır.", vbInformation

End Sub
 

Ekli dosyalar

@Feyzullah Hocam aşağıdaki kodu geliştirebilir belki. Veya siz uyarlayabilirseniz siz de kullanabilirsiniz.
Bu arada Kutools da sekmelerin isimleri değiştiriliyor ama renk değişimine dair birşey göremedim.

VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
    MyVal = Range("A1").Text

    With ActiveSheet.Tab
        Select Case MyVal
            Case "0"
                .Color = vbBlack
            Case "1"
                .Color = vbRed
            Case "2"
                .Color = vbGreen
            Case "3"
                .Color = vbYellow
            Case "4"
                .Color = vbBlue
            Case "5"
                .Color = vbMagenta
            Case "6"
                .Color = vbCyan
            Case "7"
                .Color = vbWhite
            Case Else
                .ColorIndex = xlColorIndexNone
        End Select
    End With
End Sub
 
Aşağıdaki kodarı ThisWorkBook(BuKitab) kod bölümüne yazınız.

VBA:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Range("B4").Value = "" Then
ActiveSheet.Tab.ColorIndex = xlNone
Else
ActiveSheet.Tab.ColorIndex = 5
End If
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, [b4]) Is Nothing Then Exit Sub
If ActiveSheet.Range("B4").Value = "" Then
ActiveSheet.Tab.ColorIndex = xlNone
Else
ActiveSheet.Tab.ColorIndex = 5
End If
End Sub
 
Çözüm
ActiveSheet.Tab.ColorIndex = 5 bu kodda yazan 5 rakamının yerine aşağıdaki resimde gördüğünüz renk numaralarından birini yazınız.

1994
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst