onay kutusu

Katılım
4 Kasım 2004
Mesajlar
22
arkadaşlar vba da çok yeniyim. ekteki dosya için basit bir program yaparsanız çok sevineceğim. sayfa1 de 150 öğretmen kaydı var diyelim. A sütünunda öğretmen adları, B sütünunda branşları var. Bir user formda her branş için bir onay kutusu
yapılacak. onayladığım kutularla ilgili A ve B sütunları liste kutusunda ve sayfa2 de sıralanacak. şimdiden teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekteki dosyayı inceleyin.

Not:Sn iggydarsa'nın dosyasını görmemiştim. Alternatif olarak kabul edersiniz.
 
Katılım
30 Haziran 2005
Mesajlar
149
Sn. sinembagci,
Benim gonderdigim dosya sadece fikir versin diyeydi ama leventm'in dosyasi cok daha guzel olmus
 
Katılım
4 Kasım 2004
Mesajlar
22
arkadaşlar beyinlerinize saglık. iggydarsa arkadaşımın programını çalıştıramadım. leventm2in programı düşündüklerime daha yakın.
Peki leventm aynı anda iki veya üç branşda öğretmenleri sıralamak istersek ne yapmam gerek. Burada her branş için birer checkbox koysak onların birini veya ikisini onaylasak sonra listelense. bu değişiklik için de biraz zamanını alabilirmiyim?
 
Katılım
4 Kasım 2004
Mesajlar
22
sn leventm çok güzel olmuş gerçekten. tam düşündüğüm gibi.
bu işi öğrenebileceğim galiba. yalnız son bir soru sorabilirmiyim.
Bu öğretmenlerin C sütünunda yaşları olsa. örneğin min 30 max 38
yaşları arasında istenen branşlarda öğretmenleri nasıl sıralatırım.
vaktini alıyorum ama son soru. içten teşekkürler
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu söylediğinizde mümkün elbette, fakat başka düşündüklerinizde varsa hepsini beraber yapalım. Çünkü her ilave kodların tamamen yeniden tasarlanmasını gerektirmektedir.
 
Katılım
4 Kasım 2004
Mesajlar
22
Private Sub CommandButton2_Click()
Text1 = TextBox2.Value
Text2 = TextBox3.Value
If TextBox2 = "" Then Text1 = 0
If TextBox3 = "" Then Text2 = 100
Set s1 = Sheets("sayfa2")
s1.[a2:c65536].ClearContents
For a = 1 To 16
If Controls("checkbox" & a).Caption = "" Or Controls("checkbox" & a).Value = False Then GoTo 10
For b = 2 To [a65536].End(xlUp).Row
If Cells(b, 2) = Controls("checkbox" & a).Caption And Cells(b, 3) >= Text1 * 1 And Cells(b, 3) <= Text2 * 1 Then
c = c + 1
s1.Cells(c + 1, 1) = Cells(b, 1).Value
s1.Cells(c + 1, 2) = Cells(b, 2).Value
s1.Cells(c + 1, 3) = Cells(b, 3).Value
End If
Next
10 Next
If WorksheetFunction.CountA(s1.[a2:a65536]) = 0 Then
MsgBox "UYGUN VERİ BULUNAMADI"
Exit Sub
End If
ListBox1.RowSource = "sayfa2!a2:c" & s1.[a65536].End(xlUp).Row
End Sub


sayın leventim günler geçti ama aklıma takılan bir soru soracağım.
yaptığınız programda mavi ile işaretlediğim satırda c nin başlangıç değeri verilmemiş. program iyi çalışıyor. mantığı ne. bilmediğim birşey mi var?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ã?ncelikle sorunuzu geç fark ettiğim için cevabım biraz gecikti. Kusura bakmayın. Eğer bir değişkene başlangıç değeri verilmemişse 0 (sıfır) kabul edilir. buradaki c=c+1 satırı döngünün her tekrarında c değişkenini bir arttırır ve bu değer hücrenin satır adresini oluşturur. Bu şekilde kullanmak zorunda değilsiniz. Fakat pratik bir çözümdür.
 
Üst