• DİKKAT

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

Userform'da buton rengi değiştirme

  • Konbuyu başlatan Konbuyu başlatan seddur
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Nisan 2012
Mesajlar
533
Excel Vers. ve Dili
Microsoft office professional plus 2019
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

Buton renklerini excel sayfasında bir hücreye tanımlamalı,
Userform Initialize ya da Acitvate olayında hücrelerdeki veriye göre nesnelerinizi renklendirmelisiniz.
 
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
 
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
 
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
 
Merhaba Arkadaş,
İnceleyiniz. (makroda adı A1 de yazılı olan diyorsunuz)
iyi çalışmalar
 

Ekli dosyalar

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 ?
 
Ne yapmak istediğinizi anlamadığım için bilemiyorum.
iyi çalışmalar
 
Geri
Üst