• DİKKAT

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

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

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
745
Excel Vers. ve Dili
2016 64 TR
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
 
Bu kodları initialize değil de combobox19'un change koduna ya da combobox19'u değiştiren her neyse oraya yazıp denediniz mi?
 
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
 
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ı
 
Textbox'taki change kodunda combobox19'la ilgili kısma renk değişim kodlarını ekleyin.
 
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
 
Bence siz enbaşta örnek dosya eklemeliydiniz.
Ama şimdide ekleyebilirsiniz.
Cevap verecek kişiler olacaktır.:cool:
 
Sicil Alanına 111111 . 222222 veya 333333 yazarsanız veriler kendiliğinden temsili olarak geliyor.
Harici Link
 

Ekli dosyalar

Ö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.
 
Ö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ı
 
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.
 
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.
 
Ö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
 
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
 
Daha önce de belirttiğim gibi textbox22 change kodunda olmalı. Bundan önceki mesajlarımı okursanız nasıl yapacağınızı anlayabilirsinhiz.
 
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.
 
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
 
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.
 
Geri
Üst