Soru CheckBoxları döngüye dahil etme !!

Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-03-2021
alt alta dizili 31 adet Check Box var ve her satır için bir tanesine tik koyarak formüle farklı bir yön vermek istiyorum
Dongüyü yazarken ilk checkboxu dahil ettim ama diğer 30 checkboxa bir çözüm bulamadım
Formülün ilk başındaki if ile başlayan komut checkboxa yön veriyor.
31 adet checkboxu da bu döngünün içine nasıl dahil edebilirim. Checbox tik aldığında P13 hücresi 1 alıyor Formülü paylaşıyorum

Dim i As Integer

For s = 13 To 43

If Worksheets("Düzenle").CheckBoxBir.Value = True Then
Range("P13").Value = ("1")
ElseIf Range("F" & s).Value = ("") Then
Range("P" & s).Value = ("")
ElseIf Range("j" & s).Value < Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value < Worksheets("Düzenle").Range("ac50").Value Then
Range("P" & s).Value = ("-")

ElseIf Range("j" & s).Value < Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value > Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value < Worksheets("Düzenle").Range("ac51").Value Then
Range("P" & s).Value = 1 / 3

ElseIf Range("j" & s).Value > Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value < Worksheets("Düzenle").Range("ac51").Value Then
Range("P" & s).Value = ("-")

ElseIf Range("j" & s).Value > Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value > Worksheets("Düzenle").Range("ac51").Value Then
Range("P" & s).Value = 1 / 3

ElseIf Range("j" & s).Value < Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value > Worksheets("Düzenle").Range("ac51").Value Then
Range("P" & s).Value = 2 / 3
End If
Next s

s = Empty
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,743
Excel Vers. ve Dili
2021 Türkçe
Eğer sayfada 31 adet CheckBox tan başka bir nesne yoksa aşağıdaki kodu kullanabilirsiniz.

Kod:
Sub TETS()
    
    Dim i As Integer
    Dim s As Integer
    For s = 13 To 43
        If Worksheets("Düzenle").Shapes(s - 12).Value = True Then
            Range("P13").Value = ("1")
        ElseIf Range("F" & s).Value = ("") Then
            Range("P" & s).Value = ("")
        ElseIf Range("j" & s).Value < Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value < Worksheets("Düzenle").Range("ac50").Value Then
            Range("P" & s).Value = ("-")
        ElseIf Range("j" & s).Value < Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value > Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value < Worksheets("Düzenle").Range("ac51").Value Then
            Range("P" & s).Value = 1 / 3
        ElseIf Range("j" & s).Value > Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value < Worksheets("Düzenle").Range("ac51").Value Then
            Range("P" & s).Value = ("-")
        ElseIf Range("j" & s).Value > Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value > Worksheets("Düzenle").Range("ac51").Value Then
            Range("P" & s).Value = 1 / 3
        ElseIf Range("j" & s).Value < Worksheets("Düzenle").Range("ac50").Value And Range("m" & s).Value > Worksheets("Düzenle").Range("ac51").Value Then
            Range("P" & s).Value = 2 / 3
        End If
    Next s
    s = Empty
End Sub
 
Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-03-2021
Checkbox tan başka bir çok nesne var. Acaba ne gibi bir sorun olur kullanmayı denersem ?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,520
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosyanızı ekleyerek yapmak istediğiniz işlemi açıklarsanız yardım almanız kolaylaşır.
 
Üst