• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Seçili CommandButton renk

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,443
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Arkadaşlar, sayın hocalarım, 7 tane CommandButton var. Seçili olan yeşil olsun. PAZARTESİ Seçince PAZARTESİ yeşil olsun. SALI seçince PAZARTESİ eski rengine dönsün.
Nasıl yapabilirim.
CommandButton1.BackColor = IIf(CommandButton1.BackColor = vbGreen) yazsam öyle kalıyor.

Şimdiden teşekkür ederim.
Saygılarımla.


Ekran görüntüsü 2026-01-15 174941.png
 
Kod:
Private Sub btn1_Click()
    Renklendir
End Sub

Private Sub btn2_Click()
    Renklendir
End Sub

Private Sub btn3_Click()
    Renklendir
End Sub


Private Sub Renklendir()
    For i = 1 To 3
        Me.Controls("btn" & i).BackColor = RGB(255, 255, 255) 'Baz renk
    Next i

    Me.ActiveControl.BackColor = RGB(25, 25, 25) 'Aktif renk
End Sub
 
Kod:
Private Sub btn1_Click()
    Renklendir
End Sub

Private Sub btn2_Click()
    Renklendir
End Sub

Private Sub btn3_Click()
    Renklendir
End Sub


Private Sub Renklendir()
    For i = 1 To 3
        Me.Controls("btn" & i).BackColor = RGB(255, 255, 255) 'Baz renk
    Next i

    Me.ActiveControl.BackColor = RGB(25, 25, 25) 'Aktif renk
End Sub

Hocam teşekkür ederim. Sanırım yanlışlık mı yapıyorum. Olmadı hata veriyor.
Önce kendi dosyama uyarladım olmadı. Direk sizin yazdığınızı kullandım yine olmadı.
 
buton isimlerinizi ve kullandığınız pasif, aktif renkleri verirseniz uyarlayayım
 
buton isimlerinizi ve kullandığınız pasif, aktif renkleri verirseniz uyarlayayım

Kod:
Private Sub CommandButton1_Click()
Sheets("pazartesi").Select
Renklendir
End Sub

Private Sub CommandButton2_Click()
Sheets("salı").Select
Renklendir
End Sub

Private Sub CommandButton3_Click()
Sheets("çarşamba").Select
Renklendir
End Sub

Private Sub CommandButton4_Click()
Sheets("perşembe").Select
Renklendir
End Sub

Private Sub CommandButton5_Click()
Sheets("cuma").Select
Renklendir
End Sub

Private Sub CommandButton6_Click()
Sheets("cumartesi").Select
Renklendir
End Sub

Private Sub CommandButton7_Click()
Sheets("pazar").Select
Renklendir
End Sub

Private Sub Renklendir()
    For i = 1 To 7
        Me.Controls("CommandButton" & i).BackColor = RGB(255, 255, 255) 'Baz renk
    Next i

    Me.ActiveControl.BackColor = RGB(25, 25, 25) 'Aktif renk
End Sub
 
Hocam 7 sayfa var. Butona tıklayınca sayfaya gidecek. Kodu her sayfa kod bölümüne yapıştırdım.
 
Butonlar userform'da mı yoksa sayfada mı yer alıyor, görselden anlayamadım
 
Merhaba.
Aşağıdaki kodu deneyin.
Bu kodu sadece butonların bulunduğu sayfanın kod kısmına kopyalayın.

Kod:
Private Sub CommandButton1_Click()
    Renklendir "CommandButton1"
    Sheets("pazartesi").Select
End Sub

Private Sub CommandButton2_Click()
    Renklendir "CommandButton2"
    Sheets("salı").Select
End Sub

Private Sub CommandButton3_Click()
    Renklendir "CommandButton3"
    Sheets("çarşamba").Select
End Sub

Private Sub CommandButton4_Click()
    Renklendir "CommandButton4"
    Sheets("perşembe").Select
End Sub

Private Sub CommandButton5_Click()
    Renklendir "CommandButton5"
    Sheets("cuma").Select
End Sub

Private Sub CommandButton6_Click()
    Renklendir "CommandButton6"
    Sheets("cumartesi").Select
End Sub

Private Sub CommandButton7_Click()
    Renklendir "CommandButton7"
    Sheets("pazar").Select
End Sub

Private Sub Renklendir(ByVal aktifButon As String)
    Dim i As Integer
    For i = 1 To 7
        ActiveSheet.OLEObjects("CommandButton" & i).Object.BackColor = RGB(255, 255, 255) 'Baz renk
    Next i
    ActiveSheet.OLEObjects(aktifButon).Object.BackColor = RGB(0, 255, 0) 'Aktif renk
End Sub
 
Çalışmanızda şöyle bir mantık hatası var: Her sayfaya gittiğinizde bu butonlar olacaksa renklendirmeyi sayfa özelinde elle de yapabilirsiniz. Bu tarz renklendirmeler tek bir yerde yapılırsa anlamlı. Yani salı gününde salı butonu, çarşamba gününde çarşamba butonunu yeşil yapıp butonlarla sadece SheetSelect yaptığınızda işinizi görür. Ayrıca form denetimi butonları renklendirilemediği için ancak dikdörtgen şekil ile taklit edip makro atayabilirsiniz.
 
Merhaba.
Aşağıdaki kodu deneyin.
Bu kodu sadece butonların bulunduğu sayfanın kod kısmına kopyalayın.

Kod:
Private Sub CommandButton1_Click()
    Renklendir "CommandButton1"
    Sheets("pazartesi").Select
End Sub

Private Sub CommandButton2_Click()
    Renklendir "CommandButton2"
    Sheets("salı").Select
End Sub

Private Sub CommandButton3_Click()
    Renklendir "CommandButton3"
    Sheets("çarşamba").Select
End Sub

Private Sub CommandButton4_Click()
    Renklendir "CommandButton4"
    Sheets("perşembe").Select
End Sub

Private Sub CommandButton5_Click()
    Renklendir "CommandButton5"
    Sheets("cuma").Select
End Sub

Private Sub CommandButton6_Click()
    Renklendir "CommandButton6"
    Sheets("cumartesi").Select
End Sub

Private Sub CommandButton7_Click()
    Renklendir "CommandButton7"
    Sheets("pazar").Select
End Sub

Private Sub Renklendir(ByVal aktifButon As String)
    Dim i As Integer
    For i = 1 To 7
        ActiveSheet.OLEObjects("CommandButton" & i).Object.BackColor = RGB(255, 255, 255) 'Baz renk
    Next i
    ActiveSheet.OLEObjects(aktifButon).Object.BackColor = RGB(0, 255, 0) 'Aktif renk
End Sub

Hocam emeğinize sağlık. Yalnız şöyle ki, aynı butonlar her sayfada var.
 
Merhaba Murat Bey,
Bu dosyadakini dener misin, lütfen? Fark etmemişim, yukarıdaki Pazar gününde hata veriyor.
İyi çalışmalar
 

Ekli dosyalar

Hocam emeğinize sağlık. Yalnız şöyle ki, aynı butonlar her sayfada var.
Sayın Ouzz'un 10. mesajda dediği gibi her sayfada aynı butonlar varsa sabit renk seçerek sorunu halledebilirsiniz.
Örneğin Salı sayfasında Salı butonu sabit yeşil olabilir. Salı sayfasına her girdiğinizde Salı butonunu yeniden yeşil yapmaya gerek yok sabit yeşil yapın yeterli. Her günün sayfasındaki aynı güne ait butonları sabit yeşil yapın.
 
Sayın Ouzz'un 10. mesajda dediği gibi her sayfada aynı butonlar varsa sabit renk seçerek sorunu halledebilirsiniz.
Örneğin Salı sayfasında Salı butonu sabit yeşil olabilir. Salı sayfasına her girdiğinizde Salı butonunu yeniden yeşil yapmaya gerek yok sabit yeşil yapın yeterli. Her günün sayfasındaki aynı güne ait butonları sabit yeşil yapın.
Tamamdır hocam.
 
Geri
Üst