• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Userform CheckBox Default True olup değeri belirlediğim hücreye atasın

  • Konbuyu başlatan Konbuyu başlatan u.L.a.s
  • Başlangıç tarihi Başlangıç tarihi
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Merhabalar

Userform üzerinde bir checkbox ım var. Bu check boxı işaretlediğimde Excel çalışma sayfamda bir hücreye gidip X işareti atıyor. kaldırınca X işareti kalkıyor.

Onunda kod düzeni şu şekilde.

Kod:
Private Sub CheckBox2_Click()
If CheckBox2 = True Then
Sheets("Sheet1").Range("I30") = "X"
Else
Sheets("Sheet1").Range("I30").ClearContents
End If
End Sub

vba kod düzenindeyken userform üzerindeki checkbox ın üstüne tıklayıp özelliklerinde value değerini true yazıyorum(aşağıdaki resimdeki gibi)
4.png


Görüldüğü gibi Userform üzerinde checkxboxta tik işareti var default olarak.
5.png


Fakat default olarak checkbox işaretli olmasına rağmen ben userform çalıştırdığımda commandbutona ilişkilendirdiğim hücre değer verisini gidip X işaretini atmıyor. illaki o işareti kaldırıp tekrar işaretlersem X işaretini atıyor. Haliyle buda işime gelmiyor. Value = False kalsa en azından bir kere işaretler X değerini hücreye atardım.

Ben istiyorum ki Default olarak bu check işareti olsun ve ben o checkbox üzerinde hiç bir işlem yapmadan check işareti olduğu için butona tıklayınca gidip ilgili hücreye X işaretini yazsın.

Bilgi ve yardımlarınızı rica ederim
 
. . .

Kod:
[B]Private Sub CommandButton1_Click()[/B]
If CheckBox2 = True Then
Sheets("Sheet1").Range("I30") = "X"
Else
Sheets("Sheet1").Range("I30").ClearContents
End If
End Sub

. . .
 
Hücrede işlem yapmama nedeni sizin kodu checkbox click olayına yazmış olmanız. Yani checkboxa tıklamadan kod çalışmaz.
Aynı kodu userform initialize olayına da yazarsanız istediğiniz olur.
Kod:
Private Sub UserForm_Initialize()
If CheckBox2 = True Then
Sheets("Sheet1").Range("I30") = "X"
Else
Sheets("Sheet1").Range("I30").ClearContents
End If
End Sub
Ya da direk userformu açtığınız koda aşağıdaki satırı ilave edin. Form açıldığında direkt "X" yazar tıkladığınızda da değiştirirsiniz.
Kod:
Sheets("Sheet1").Range("I30") = "X"
 
Çok teşekkür ediyorum mantığınıda kavramış oldum olayın.

Emeğinize bilginize sağlık hüseyin çoban ve mucit77 üstadlarım
 
Geri
Üst