Skip to main content

AccessTr.neT


Combobox Vba Kodları Oluşturmak

Combobox Vba Kodları Oluşturmak

Çözüldü #1
Merhaba
Userform üzerinden veri girişi yapmak için bir tasarım yaptım.
Ama form üzerindeki nesne ilişkileri eksik. comboboxların çalışması için yardımcı olabilirmisiniz.
10 adet combobox un 3 tanesi (sarı renkli) birbiri ile diğer renkler kendi arasında beyazlar ise bağımsız veri girecek.
Combobox lar haricinde 3 adet buton ve en altta listbox ile kayıt yapılmış verileri listeleyecek.
Tarih formatı yy.aa.yy ss:dd şekilde olmalı.
Comboboxlara listeye yer alan veri haricinde veri girilmemeli.
raporlama belirli iki tarih arasında pdf olmalı pdf mail ile gönderilecek.
.rar jurnal.rar (Dosya Boyutu: 23,95 KB | İndirme Sayısı: 7)
07-08-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#2
biraz daha ayrıntılı açıklar mısınız; hangi combo hangi alandan veriyi neye göre alacak?
sarı sütunlardan veriler alınınca tesis sütunlarına göre mi diğer 2 combo veriyi alacak
ayrıca ilk önce bu 3 kombodan hangisi seçilecek? 2ünden birinde seçim yapılınca diğer 2si otomatik olarak aynı tesis verilerini mi alacak
Cevapla
#3
Merhaba Berduş

hangi combo hangi alandan veriyi neye göre alacak?
comboboxlar etiket adları ile cbox ve combobox sayfalarındaki tabloların başlıkları aynı.

sarı sütunlardan veriler alınınca tesis sütunlarına göre mi diğer 2 combo veriyi alacak
Evet dediğiniz gibi;
Tarih gg/aa/yy ss:dd formatında girildikten sonra vardiya seçilecek.
Vardiya numaraları diğer iki sarı combobox "tespit eden" ve "sorumlu adı" comcoboxları güncellemiş olacak.
Vardiya seçimi ile sarı comboların tesis sutünleri ortak bu şekilde ilgili alanlar görülmüş olacak.

ayrıca ilk önce bu 3 kombodan hangisi seçilecek? 2ünden birinde seçim yapılınca diğer 2si otomatik olarak aynı tesis verilerini mi alacak
İlk önce vardiya seçilecek sonra diğer iki sarı combo seçimi yapılacak.
07-08-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#4
ben sadece sarı olalar için yaptım siz aynı  mantığı kullanarak diğerleri için yaparsınız
Private Sub ComboBox1_Change()
With Sayfa3
sonstr = .Cells(.Rows.Count, "D").End(xlUp).Row
Me.ComboBox3.Clear
For x = 2 To sonstr
    If .Range("d" & x).Value = Me.ComboBox1.Column(0) Then Me.ComboBox3.AddItem .Range("E" & x).Value
Next x

sonstr = .Cells(.Rows.Count, "A").End(xlUp).Row
Me.ComboBox4.Clear
For x = 2 To sonstr
    If .Range("A" & x).Value = Me.ComboBox1.Column(0) Then Me.ComboBox4.AddItem .Range("B" & x).Value
Next x
End With
End Sub
Private Sub UserForm_Initialize()
sonstr = Sayfa3.Cells(Sayfa3.Rows.Count, "h").End(xlUp).Row
Me.ComboBox1.List = Sayfa3.Range("g2:h" & sonstr).Value
End Sub
.rar jurnal_hy.rar (Dosya Boyutu: 30,15 KB | İndirme Sayısı: 3)
Cevapla
#5
combobox1'2 sütunlu yapıp ilk sütunu gizledim, 2. sütunu ilişkili sütun yaptım
Cevapla
#6
Sütun gizlenmeyip ve tek sütunla alttaki gibi de olabilir.
Tabii Haliil hocamızınki tabi kısa kod.

Dim dic As Object, sonstr As Long

Private Sub ComboBox1_Change()
    Set dic = CreateObject("scripting.dictionary")
   
    With Sayfa3
        sonstr = .Cells(.Rows.Count, "h").End(xlUp).Row
        Me.ComboBox3.Clear
        For x = 2 To sonstr
            dic.Add Val(.Range("H" & x).Value), .Range("G" & x).Value
        Next x
       
        sonstr = .Cells(.Rows.Count, "d").End(xlUp).Row
        getir sonstr, "d", "e", Me.ComboBox3, .Name
       
        sonstr = .Cells(.Rows.Count, "a").End(xlUp).Row
        getir sonstr, "a", "b", Me.ComboBox4, .Name
    End With
    Set dic = Nothing
End Sub

Sub getir(son As Long, alan1 As String, alan2 As String, cbo As MSForms.ComboBox, sayfa As String)
    With ThisWorkbook.Sheets(sayfa)
        cbo.Clear
        For x = 2 To sonstr
            If dic(Val(ComboBox1.Value)) = .Range(alan1 & x).Value Then cbo.AddItem .Range(alan2 & x).Value
        Next
    End With
End Sub

Private Sub UserForm_Initialize()
    sonstr = Sayfa3.Cells(Sayfa3.Rows.Count, "h").End(xlUp).Row
    Me.ComboBox1.List = Sayfa3.Range("h2:h" & sonstr).Value
End Sub
.rar jurnal_hy 2.rar (Dosya Boyutu: 32,62 KB | İndirme Sayısı: 7)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task