Userform'da buton rengi değiştirme

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Merhabalar.Aşağıdaki kod ile userform1'de bulunan commandbuttonlar dan (Masa no'lar) herhangi birine tıkladığımda buton rengini değiştirmeye çalışıyorum ancak olmuyor.Bu commandbuttonları kalıcı olarak renklendirmek istiyorum yani userformu kapatıp açtığımda buton rengi orjinal rengine dönmemiş olacak daha sonra HESAP KAPAT butonuna basınca buton orjinal rengine dönecek.Acaba yardımcı olabilir misiniz.Teşekkür ederim.

Private Sub UserForm_Activate()
Dim s1 As Worksheet
Dim i As Variant
Set s1 = Sheets("Anasayfa")
For Each i In Me.Controls
If TypeName(i) = "CommandButton" Then
If i.Caption = s1.[A1] Then i.BackColor = RGB(255, 0, 0)
End If
Next
End sub
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Buton renklerini excel sayfasında bir hücreye tanımlamalı,
Userform Initialize ya da Acitvate olayında hücrelerdeki veriye göre nesnelerinizi renklendirmelisiniz.
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Aşağudaki kod Anasayfa'da bulunan commandbutton'ları renklendirdiği halde ilk paylaştığım kod userformdaki commandbuttonları renklendirmiyor.Halbuki her ikiside aynı kod.Acaba nerde hata yapıyorum?
Dim i As Variant
Dim s1 As Worksheet
For Each i In ActiveSheet.OLEObjects
If TypeName(i.Object) = "CommandButton" Then
If i.Object.Caption = s1.[a1].Text Then i.Object.BackColor = RGB(255, 190, 0)
i.Object.ForeColor = RGB(0, 0, 0)
End If
Next
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
If i.Object.Caption = s1.[a1].Text Then i.Object.BackColor = RGB(255, 190, 0) bu satırı
If i.Object.Caption = [a1].Text Then i.Object.BackColor = RGB(255, 190, 0) bununla değiştirseniz sorun çözülür sanırım.
yetmezse, bu satırı da kaldırınız Dim s1 As Worksheet
iyi çalışmalar
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Sn.Kursun çalışmayan kodu aşağıda paylaşıyorum.Sizin düzeltme yaptığınız kod zaten çalışıyor.Fakat yine de dediğiniz düzeltmeleri yaptım ama çalıştıramadım

Private Sub UserForm_Activate()
Dim i As Variant
Set s1 = Sheets("Anasayfa")
For Each i In Me.Controls
If TypeName(i) = "CommandButton" Then
If i.Caption = [A1] Then i.BackColor = RGB(255, 190, 0)
End If
Next
End sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaş,
İnceleyiniz. (makroda adı A1 de yazılı olan diyorsunuz)
iyi çalışmalar
 

Ekli dosyalar

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Kod için Teşekkürler Şu anda çalışıyor fakat userformu kapatıp açtıktan sonra commanbutton'daki renkler silinmiş oluyor.O sorunu nasıl çözebiliriz ?
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Ne yapmak istediğinizi anlamadığım için bilemiyorum.
iyi çalışmalar
 
Üst