Sayfada onay işareti durumuna göre hücreye değer yazdırma

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,970
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Ekli dosya "F" sütununda yer alan onay kutuları (ckechbox) işaretlendiği zaman;
içerinde bulunduğu hücreye "1" değeri, onay işareti kaldırıldığı zaman 0 değeri yazabilir yada boş kalabilir.

Bunun için Worksheet_Change prosedürü altına nasıl bir kod yazılabilir?

yardımlarınız için şimdiden teşekkürler,
iyi akşamlar.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,970
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Ekli dosya "F" sütununda yer alan onay kutuları (ckechbox) işaretlendiği zaman;
içerinde bulunduğu hücreye "1" değeri, onay işareti kaldırıldığı zaman 0 değeri yazabilir yada boş kalabilir.

Bunun için Worksheet_Change prosedürü altına nasıl bir kod yazılabilir?

yardımlarınız için şimdiden teşekkürler,
iyi akşamlar.
Tekrar Merhaba,
Checkbox olayının hücreye değer tetiklemesi için aşağıdaki kodu oluşturdum,
Burada "DOĞRU" ve "YANLIŞ" sonuçlarını döndürmekte;
"DOĞRU" ve "YANLIŞ" yerine 1 ve 0 döndürmesi için aşağıdaki kodda .OnAction olayını aktif ettiğim zaman 0 lar seçiliyor fakat 1 leri seçmiyor..
onay kutularını TRUE olarak işaretliyemiyorum


Burada eksiklik yada hata neden kaynaklanmaktadır?
Yardımcı olursanız sevinirim
iyi hafta sonları...


Kod:
Sub MakeCkBx()

    Dim cb As CheckBox
    Dim myRange As Range, cel As Range
    Dim wks As Worksheet
   
    Delete_Checkboxes

    Set wks = Sheets("Data")

    Set myRange = wks.Range("F2:F100")

    For Each cel In myRange

        Set cb = wks.Checkboxes.Add(cel.Left, cel.Top, 30, 6)

        With cb
            .LinkedCell = cel.Address
            .Caption = ""
         ''   .OnAction = "YesNoChkBox"
        End With
       
        cel.HorizontalAlignment = xlRight
       
    Next

End Sub
Kod:
Sub YesNoChkBox()
    Dim r As Range, x, CkBx As CheckBox
   
    Set CkBx = ActiveSheet.Checkboxes(Application.Caller)
   
    Set r = Range(CkBx.LinkedCell)

    If CkBx = 1 Then
        r.Value = 1
    Else
        r.Value = 0
    End If

End Sub
 

Ekli dosyalar

Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,540
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İşaretleme yapan makronuzu aşağıdaki gibi değiştirip deneyiniz.

C++:
Sub YesNoChkBox()
    With Range("F:F")
        .Replace True, 1
        .Replace False, 0
    End With
End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,970
Excel Vers. ve Dili
Office 2013 İngilizce
İşaretleme yapan makronuzu aşağıdaki gibi değiştirip deneyiniz.

C++:
Sub YesNoChkBox()
    With Range("F:F")
        .Replace True, 1
        .Replace False, 0
    End With
End Sub
Çok teşekkürler Korhan Hocam
sağ olun, var olun...
 
Son düzenleme:
Üst