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

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)


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


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
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

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
. . .
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
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"
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Ç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
 
Üst