CommandButton'un Rengi

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Aşağıdaki kod'da ;

Me.Controls("CommandButton" & i).BackColor = &H8000000F satırındaki =&H8000000F renk ifadesi ile, düğme rengi bu renge (ButtonFace) dönüyor,

Ben düğmelere farklı renkler ( Örn; Sarı-Mavi-Yeşil gibi ) verdiğimden,

Bu renk kısıtlamasının kalkıp, bunun yerine butonun benim tarafımdan verilen renge dönmesini sağlamak istiyorum,

Sub Kırmızı()
For i = 1 To 9
If Me.Controls("CommandButton" & i).BackColor = &HFF& Then 'Kırmızı
Me.Controls("CommandButton" & i).BackColor = &H8000000F 'ButtonFace (AçıkGri)
End If
Next
End Sub

Kod'da gerekli düzenlemeyi rica ediyorum,

Teşekkür ederim.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Doğru mu anladım bilemiyorum ama isteğiniz şu şekilde mi?
Kod:
If Me.Controls("CommandButton" & i).BackColor <> &H8000000F Then 'ButtonFace değilse
    Me.Controls("CommandButton" & i).BackColor = &H8000000F 'ButtonFace (AçıkGri)
End If
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın ÖmerBey merhaba,

İlginiz ve duyarlığınız için teşekkür ederim,

Mesajımdaki kod ile, benim renk verdiğim yada default rengi olan buton, tıklandığında kırmızı renk alıyor,

Başka bir buton tıklandığında, buton "ButtonFace" rengine dönüyor,

İsteğim, butonun benim verdiğim renkte kalması yani verdiğim renge dönmesi,

Başka bir anlatımla ;

Örneğin ; Mavi olarak renklendirdiğim buton, tıklanınca kırmızı oluyor,

Başka bir buton tıklanınca, kırmızı olan o mavi buton "ButtonFace" rengine dönüyor, oysaki tekrar mavi renk olmalı,

Butonu "ButtonFace" yapan komuttaki ;

= &H8000000F bu değerin, butonu kendi rengine (örneğin ; mavi) döndürmesi gerekiyor,

Bu kodu çağırıp kullandığım kod ;

Kod:
Private Sub CommandButton5_Click()
For Each Sayfa In Worksheets
        If Sayfa.Name <> "ANASAYFA" Then
            Sayfa.Visible = xlVeryHidden
        End If
        If Sayfa.Name = "ADMİN" Then
           Sayfa.Visible = True
        End If
        Call Kırmızı
        CommandButton5.BackColor = &HFF&
Next
Sheets("ADMİN").Select
End Sub
Tekrar teşekkür ederim.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Evet, sanırım şimdi anladım. Bunun için önce mevcut renklerinizi dosyanızda bir bölüme veya bir değişkene yazdırmanız gerekiyor.
Örneğin aşağıdaki döngüyü Userform_Initialize olayına eklerseniz butonların tag değeri içerisine renk kodlarını kaydedebilirsiniz.
Kod:
For i = 1 To 9
    Me.Controls("CommandButton" & i).Tag = Me.Controls("CommandButton" & i).BackColor
Next
Daha sonra da kırmızı isimli kodunuzu aşağıdaki şekilde değiştirerek tag içine yazdırdığınız değeri kullanarak eski rengine dönmesini sağlayabilirisniz.
Rich (BB code):
Sub Kırmızı()
For i = 1 To 9
    If Me.Controls("CommandButton" & i).BackColor = &HFF& Then
        Me.Controls("CommandButton" & i).BackColor = Me.Controls("CommandButton" & i).Tag
    End If
Next
End Sub
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın ÖmerBey tekrar merhaba,

Çok teşekkür ederim,

Önerileriniz ve örnek kod ile sorun aşılmıştır, sağ olun.

Saygılarımla.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Rica ederim,
İyi çalışmalar diliyorum...
 
Üst