Cinsiyete Göre Userform Yazı Rengi Değiştirme

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Arkadaşlar userformda ComboBox19 da cinsiyete göre userfomdaki tüm textbox comboboxların sorgulanınca userformda cinsiyet rengine göre gelmesi mümkün mü?
Kod:
Private Sub UserForm_Initialize()

Combobox19  cinsiyeti VERİ sayfası 12. sütün olan L sütunundan alıyor.
'''''''''''''''''''Rowsource Kısmı''''''''''''''''''''''''''''''''''''''''''''''''''''''
  Dim S1 As Worksheet
    Set S1 = Sheets("KONTROL")
    Set S2 = Sheets("VERİ")
    
If ComboBox19 = "Erkek" Then
                    Personel_Düzenleme.ForeColor = vbBlue
                Else
If ComboBox19 = "Bayan" Then
                    Personel_Düzenleme.ForeColor = vbPink
                Else
If ComboBox19 = "Diğer" Then
                    Personel_Düzenleme.ForeColor = vbRed
                Else
                    Personel_Düzenleme.ForeColor = vbBlack
                End If
  End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu kodları initialize değil de combobox19'un change koduna ya da combobox19'u değiştiren her neyse oraya yazıp denediniz mi?
 
Katılım
10 Ocak 2016
Mesajlar
36
Excel Vers. ve Dili
Office 2019
Altın Üyelik Bitiş Tarihi
06-05-2021
Merhaba,

Bir de şu şekilde deneyiniz.


Private Sub UserForm_Activate()

Combobox19 cinsiyeti VERİ sayfası 12. sütün olan L sütunundan alıyor.
'''''''''''''''''''Rowsource Kısmı''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim S1 As Worksheet
Set S1 = Sheets("KONTROL")
Set S2 = Sheets("VERİ")

If ComboBox19 = "Erkek" Then
Personel_Düzenleme.ForeColor = vbBlue
Else
If ComboBox19 = "Bayan" Then
Personel_Düzenleme.ForeColor = vbPink
Else
If ComboBox19 = "Diğer" Then
Personel_Düzenleme.ForeColor = vbRed
Else
Personel_Düzenleme.ForeColor = vbBlack
End If
End Sub
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Textbox21 change olayında 6 haneli sicili yazınca formda tüm alanlar kendiliğinden geliyor.

Acaba combobox19 dan veriyi mi alamıyor yardım edebilecek olan var mı
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Textbox'taki change kodunda combobox19'la ilgili kısma renk değişim kodlarını ekleyin.
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Sayın @YUSUF44 Hocam renk kodları sorunu çözmedi bende.

başka bir yerde aşağıdaki kodları buldum ama sanırsam excel sayfası üzerinde çalışıyor.

C++:
Sub Aktar_27()
    Set s1 = ThisWorkbook.Worksheets("27")
    Set s2 = ThisWorkbook.Worksheets("Servis_bul")
    For Each tx In s1.OLEObjects
    If tx.Name Like "tx##" Then koltukNo = Mid(tx.Name, 3, 2) * 1 ' son 2 hane koltuk no
    s = Application.Match(koltukNo, s2.Range("B:B"), 0)
    If Not IsError(s) Then tx.Object.Text = s2.Cells(s, 5)
    If s2.Cells(s, 7) = "Kadın" Then tx.Object.ForeColor = vbRed
    Else
    tx.Object.ForeColor = vbBlue
    End If
    End If
    End If
    Next
    End Sub



    Sub temizlik()
    Set s1 = ThisWorkbook.Worksheets("27")
    For Each tx In s1.OLEObjects
    If tx.Name Like "tx##" Then tx.Object.ForeColor = vbBlack tx.Object.Text = ""
    End If
    Next
    End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Bence siz enbaşta örnek dosya eklemeliydiniz.
Ama şimdide ekleyebilirsiniz.
Cevap verecek kişiler olacaktır.:cool:
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Sicil Alanına 111111 . 222222 veya 333333 yazarsanız veriler kendiliğinden temsili olarak geliyor.
Harici Link
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Önerdiğim çözümü uygulamamışsınız. Textbox22 Change kodunda

ComboBox19.Text = Sheets("VERİ").Cells(bul, 12).Value

satırından sonra aşağıdaki satrıları ilave edin.

PHP:
    If ComboBox19.Value = "Erkek" Then
        Me.BackColor = vbBlue
    ElseIf ComboBox19.Value = "Bayan" Then
        Me.BackColor = vbRed
    Else
        Me.BackColor = vbBlack
    End If
Renk kodlarını istediğinize göre değiştirebilirsiniz.
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Önerdiğim çözümü uygulamamışsınız. Textbox22 Change kodunda

ComboBox19.Text = Sheets("VERİ").Cells(bul, 12).Value

satırından sonra aşağıdaki satrıları ilave edin.

PHP:
    If ComboBox19.Value = "Erkek" Then
        Me.BackColor = vbBlue
    ElseIf ComboBox19.Value = "Bayan" Then
        Me.BackColor = vbRed
    Else
        Me.BackColor = vbBlack
    End If
Renk kodlarını istediğinize göre değiştirebilirsiniz.
Hocam bu şekilde userform arka renk değişiyor. Benim ihtiyacım textbox ve comboboxların renginin mavi kırmızı siyah olması
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
O kodlara diğer nesnelerin renklerini değiştirme satırlarını ilave edebilirsiniz. Konu başlığınız “userform renginin değişmesi” olduğundan ben sadece userform için yazmıştım.
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
O kodlara diğer nesnelerin renklerini değiştirme satırlarını ilave edebilirsiniz. Konu başlığınız “userform renginin değişmesi” olduğundan ben sadece userform için yazmıştım.
Hocam malesef userformda bulunan textboxlardaki ve comboboxlardaki yazı rengini değiştiremedim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Örneğin Textbox22'nin rengini değiştirmek için verdiğim kodu aşağıdaki gibi değiştirebilirsiniz. Diğer nesneler için de aynı şekilde satırları ilave edebilirsiniz:

PHP:
    If ComboBox19.Value = "Erkek" Then
        Me.BackColor = vbBlue
        TextBox22.BackColor = vbBlue
    ElseIf ComboBox19.Value = "Bayan" Then
        Me.BackColor = vbRed
        TextBox22.BackColor = vbRed
    Else
        Me.BackColor = vbBlack
        TextBox22.BackColor = vbBlack
    End If
Ya da döngüyle olması için kodu şöyle kullanabilirsiniz:

Kod:
    If ComboBox19.Value = "Erkek" Then
        Me.BackColor = vbBlue
        For i = 1 To Me.Controls.Count
            If Left(Me.Controls(i).Name, 7) = "TextBox" Or Left(Me.Controls(i).Name, 8) = "ComboBox" Then
                Me.Controls(i).BackColor = vbBlue
            End If
        Next
        'TextBox22.BackColor = vbBlue
    ElseIf ComboBox19.Value = "Bayan" Then
        Me.BackColor = vbRed
        For i = 1 To Me.Controls.Count
            If Left(Me.Controls(i).Name, 7) = "TextBox" Or Left(Me.Controls(i).Name, 8) = "ComboBox" Then
                Me.Controls(i).BackColor = vbRed
            End If
        Next
    Else
        Me.BackColor = vbBlack
        For i = 1 To Me.Controls.Count
            If Left(Me.Controls(i).Name, 7) = "TextBox" Or Left(Me.Controls(i).Name, 8) = "ComboBox" Then
                Me.Controls(i).BackColor = vbBlack
            End If
        Next
    End If
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Kod:
If ComboBox19.Value = "Erkek" Then
        Me.BackColor = vbBlue
        For i = 1 To Me.Controls.Count
            If Left(Me.Controls(i).Name, 7) = "TextBox" Or Left(Me.Controls(i).Name, 8) = "ComboBox" Then
                Me.Controls(i).BackColor = vbBlue
            End If
        Next
        'TextBox22.BackColor = vbBlue
    ElseIf ComboBox19.Value = "Bayan" Then
        Me.BackColor = vbRed
        For i = 1 To Me.Controls.Count
            If Left(Me.Controls(i).Name, 7) = "TextBox" Or Left(Me.Controls(i).Name, 8) = "ComboBox" Then
                Me.Controls(i).BackColor = vbRed
            End If
        Next
    Else
        Me.BackColor = vbBlack
        For i = 1 To Me.Controls.Count
            If Left(Me.Controls(i).Name, 7) = "TextBox" Or Left(Me.Controls(i).Name, 8) = "ComboBox" Then
                Me.Controls(i).BackColor = vbBlack
            End If
        Next
    End If
Hocam bu kodu textbox22 chance olayına mı initialize olayına mı kopyalayayım
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Daha önce de belirttiğim gibi textbox22 change kodunda olmalı. Bundan önceki mesajlarımı okursanız nasıl yapacağınızı anlayabilirsinhiz.
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Hocam hata mesajı verdiHata Mesajı.jpg
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
End if satırını kopyalamamışsınız. Biraz gayret lütfen. O userformu oluşturan birinin bunların üstesinden kolaylıkla gelebileceğini düşünüyorum.
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Hocam tam istediğim gibi oldu elinize sağlık
If ComboBox19.Value = "Erkek" Then
Me.ForeColor = vbBlue
For i = 1 To Me.Controls.Count
If Left(Me.Controls(i).Name, 7) = "TextBox" Or Left(Me.Controls(i).Name, 8) = "ComboBox" Then
Me.Controls(i).ForeColor = vbBlue
End If

If Left(Me.Controls(i).Name, 7) = "TextBox" Or Left(Me.Controls(i).Name, 8) = "ComboBox" Then burdaki 7 ve 8 sayınının anlamını çıkaramadım. Ne demek 7 ve 8
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
TextBox ifadesi 7 karakter, Combobox ifadesi ise 8 karakter. O if sorgusunda userformdaki nesnenin adının ilk 7 ve 8 karakterine bakıp, textbox ya da combobox ise renklendirme işlemi yapılacağı belirtiliyor.
 
Üst