döngü ile çok sayıda checkbox u nasıl kullanabiliriz?

Katılım
7 Nisan 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
kolay gelsin arkadaşlar.
ekte eklediğim dosyada şunları yapmak istiyorum acaba mümkün müdür?

sayfa1 de bulunan a ve b sütünları userform1 içinde bulunan listboxta listelensin ve her biri için bir adet checkbox olsun ve c sütünundaki gibi eğer Doğru yazıyorsa ilgili kişinin checkbox u işaretli olsun yanlış yazıyorsa işaretsiz olsun?

bunu döngü halinde nasıl yapabiliriz. ve tek bir tuş ile de bu bütün checkboxları seçili ya da seçisiz nasıl yapabiliriz?
teşekkürler herkese.
iyi çalışmalar?
 

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
Dosyanız ekte.:cool:
Kod:
Private Sub CommandButton1_Click()
Dim i As Long
For i = 0 To ListBox1.ListCount - 1
    ListBox1.Selected(i) = True
Next i
End Sub

Private Sub CommandButton2_Click()
Dim i As Long
For i = 0 To ListBox1.ListCount - 1
    ListBox1.Selected(i) = False
Next i
End Sub

Private Sub UserForm_Click()

End Sub

Private Sub UserForm_Initialize()
Sheets("Sayfa1").Select
Dim i As Long
ListBox1.List = Range("A1:C" & Cells(65536, "A").End(xlUp).Row).Value
For i = 0 To ListBox1.ListCount - 1
    If ListBox1.List(i, 2) = True Then
        ListBox1.Selected(i) = True
    End If
Next i

End Sub
 
Katılım
7 Nisan 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
:) çok teşekkürler tam istediğim bir cevap.
bir sorum daha olacaktı. mesela ben bu seçili olanlardan bazılarını seçimlerini iptal etsem ve başka bir kaşç tane daha seçsem, bunları sasyfa2 ye yazdırabilirmiyim acaba?
 

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
:) çok teşekkürler tam istediğim bir cevap.
bir sorum daha olacaktı. mesela ben bu seçili olanlardan bazılarını seçimlerini iptal etsem ve başka bir kaşç tane daha seçsem, bunları sasyfa2 ye yazdırabilirmiyim acaba?
Yazdırabilirsiniz.:cool:
 

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
sayın Evren çok uğraştım ama bi türlü yazmadım. nasıl yapabilirim acaba?
Dosyanız ekte.:cool:
Kod:
Private Sub CommandButton3_Click()
Dim sat, i As Long
sat = Sheets("Sayfa2").Cells(65536, "A").End(xlUp).Row
For i = 0 To ListBox1.ListCount - 1
    If sat >= 65533 Then
        MsgBox "Sayfa doldu Seçilenleirn hepsi yazdırılmamış olabilir.", vbCritical, "UYARI"
        Exit Sub
    End If
    If ListBox1.Selected(i) = True Then
        Sheets("Sayfa2").Cells(sat, "A").Value = ListBox1.List(i, 0)
        Sheets("Sayfa2").Cells(sat, "B").Value = ListBox1.List(i, 1)
        sat = sat + 1
    End If
Next i
MsgBox "İşlem tamam", vbOKOnly
End Sub
 
Katılım
11 Eylül 2007
Mesajlar
3
Excel Vers. ve Dili
2003
checkbox'ları dizi olarak tanımlayacaksın
properties pencersinden;

checkbox(0).0 şeklinde yaz daha sonrada döngüye sok ve çoğalt
 
Katılım
7 Nisan 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
arkadaşlar kendime göre bi kaç değişiklik yaptım.

Kod:
Sheets("Sayfa1").Select
Columns("C:C").Select
    Selection.Clear
    Range("A1").Select
For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
        Sheets("Sayfa1").Cells(i + 1, "C").Value = True
        End If
Next i
şu şekilde kod ekledim.
amacım bu kod ile benim her seçimim anında sheet te mesela c sütünuna true olarak yansısın istedim.
ancak veriler fazla olduğu için mesela 200 ün üzerinde.
eğer hepsini seç e basarsam döngü sürekli işlem yapıyorve bu da çok uzun sürüyor.
bunun daha bir kısa yolu varmıdır acaba ?
mesela ben listboxta bi satırı işaretlediğimde, anında sayfa1 deki c tününun ilgili yerine (satır 5 i seçtiysem satır 5 sütün c) "doğru" işareti olacak şekilde yapabilir miyim.
teşekkürler iyi çalışmalr.
 
Üst