TextBox değerine göre combobox açılır liste belirleme

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Kod:
Dim a As Long
        For a = 3 To 500
'        If TextBox3.Value = "Özel" Then
'        If Sheets("DATA").Cells(a, "X") <> "" Then ComboBox1.AddItem Sheets("DATA").Cells(a, "X")
'        If Sheets("DATA").Cells(a, "X") <> "" Then ComboBox2.AddItem Sheets("DATA").Cells(a, "X")
'        If Sheets("DATA").Cells(a, "X") <> "" Then ComboBox3.AddItem Sheets("DATA").Cells(a, "X")
'        If Sheets("DATA").Cells(a, "X") <> "" Then ComboBox4.AddItem Sheets("DATA").Cells(a, "X")
'        Else
'        If Sheets("DATA").Cells(a, "AB") <> "" Then ComboBox1.AddItem Sheets("DATA").Cells(a, "AB")
'        If Sheets("DATA").Cells(a, "AB") <> "" Then ComboBox2.AddItem Sheets("DATA").Cells(a, "AB")
'        If Sheets("DATA").Cells(a, "AB") <> "" Then ComboBox3.AddItem Sheets("DATA").Cells(a, "AB")
'        If Sheets("DATA").Cells(a, "AB") <> "" Then ComboBox4.AddItem Sheets("DATA").Cells(a, "AB")
'
'        End If
'    Next
Textbox3 değeri "Özel" İse
Combobox1, 2, 3 ve 4 de açılır liste DATA sayfasında AB sütunu olacak
Eğer Textbox3 değer "Özel" değil ise
Combobox1, 2, 3 ve 4 de açılır liste DATA sayfasında X sütunu olacak
rica etsem yardımcı olabilir misiniz?
 

Astalavista58

Altın Üye
Katılım
20 Ocak 2020
Mesajlar
242
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
20-02-2025
Dener misiniz ?
Kod:
Dim a As Long
For a = 3 To 500
    If TextBox3.Value = "Özel" Then
        If Sheets("DATA").Cells(a, "AB") <> "" Then
            ComboBox1.AddItem Sheets("DATA").Cells(a, "AB")
            ComboBox2.AddItem Sheets("DATA").Cells(a, "AB")
            ComboBox3.AddItem Sheets("DATA").Cells(a, "AB")
            ComboBox4.AddItem Sheets("DATA").Cells(a, "AB")
        End If
    Else
        If Sheets("DATA").Cells(a, "X") <> "" Then
            ComboBox1.AddItem Sheets("DATA").Cells(a, "X")
            ComboBox2.AddItem Sheets("DATA").Cells(a, "X")
            ComboBox3.AddItem Sheets("DATA").Cells(a, "X")
            ComboBox4.AddItem Sheets("DATA").Cells(a, "X")
        End If
    End If
Next a
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Sayın Astalavista58
Kod istediğimizi maalesef gerçekleştirmedi.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Kod:
    Dim sut, son, lst, elem
    sut = IIf(TextBox3.Value = "Özel", "AB", "X")
    With Sheets("Data")
        son = .Cells(Rows.Count, sut).End(3).Row
        If son < 3 Then Exit Sub
        With .Range(.Cells(3, sut), .Cells(son, sut))
            If WorksheetFunction.CountA(.Cells) > 0 Then
                lst = .SpecialCells(xlCellTypeConstants).Value
                For Each elem In Array(ComboBox1, ComboBox2, ComboBox3, ComboBox4)
                    elem.List = lst
                Next
            End If
        End With
    End With
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Form ekte sunulmuştur. Kodu uyguladım ama olmadı.
Formda Textbox' a Özel yazıldığı zaman AB sütununda Özel değil ise X sütununda Comboboxlara veri getirecek
Birde Comboboxda hangi veri yazılı ise yanındaki textboxa seçilen veriye ait saat ücreti gelecek.
Örnek : Combobox1 "İYEP (Gündüz)" ise 71,37
Combobox1 "İYEP (Gündüz - %25 Fazla)" ise 89,21 gibi
Bakabilmeniz mümkün mü?
 

Ekli dosyalar

Son düzenleme:

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim sut, son, lst, elem
    sut = IIf(TextBox3.Value = "Özel", "AB", "X")
    With Sheets("Data")
        son = .Cells(Rows.Count, sut).End(3).Row
        If son < 3 Then Exit Sub
        With .Range(.Cells(3, sut), .Cells(son, sut))
            If WorksheetFunction.CountA(.Cells) > 0 Then
                lst = .SpecialCells(xlCellTypeConstants).Value
                For Each elem In Array(ComboBox1, ComboBox2, ComboBox3, ComboBox4)
                    elem.List = lst
                Next
            End If
        End With
    End With
End Sub
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Veysel Hocam Teşekkür ederim. Sağ Olasın
Rica etsem
Combobox1'de
"özel" yazılı ise yanındaki textbox4'e AE sütununa ait saat ücretini
"özel" yazılı değil ise yanındaki textbox4'e AA sütununa ait saat ücretini getirebilmem için de yardımcı olabilir misiniz?
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Dim lst(1 To 2)
Private Sub UserForm_Initialize()
    Dim i, ii, tmp(), sut, say, cb
    With Sheets("Data")
        son = .Cells(Rows.Count, "X").End(3).Row
        If son < 2 Then Exit Sub
        ReDim Preserve tmp(0 To son - 2, 0 To 1)
        For Each sut In Array(24, 28)
            For i = 0 To son - 2
                tmp(i, 0) = .Cells(i + 2, sut).Value
                tmp(i, 1) = Format(.Cells(i + 2, sut + 3).Value, "#,##0.00")
            Next i
            say = say + 1
            lst(say) = tmp
        Next sut
    End With
    For Each cb In Array(ComboBox1, ComboBox2, ComboBox3, ComboBox4)
        cb.ColumnCount = 2
        cb.BoundColumn = 2
        cb.ColumnWidths = "110;30"
        cb.List = lst(1)
    Next
End Sub
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim elem
    For Each elem In Array(ComboBox1, ComboBox2, ComboBox3, ComboBox4)
        elem.List = IIf(TextBox3.Value = "Özel", lst(2), lst(1))
    Next
End Sub
Private Sub ComboBox1_Change()
    TextBox4.Text = ComboBox1.Value
End Sub
Private Sub ComboBox2_Change()
    TextBox5.Text = ComboBox2.Value
End Sub
Private Sub ComboBox3_Change()
    TextBox6.Text = ComboBox3.Value
End Sub
Private Sub ComboBox4_Change()
    TextBox7.Text = ComboBox4.Value
End Sub
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Veysel Hocam
Ellerinize Sağlık. Allah ne muradınız var ise versin.
 
Üst