• DİKKAT

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

Kaç Checkbox seçili? CheckBox sayacı ?

  • Konbuyu başlatan Konbuyu başlatan QNURi
  • Başlangıç tarihi Başlangıç tarihi
Katılım
10 Eylül 2005
Mesajlar
97
Merhaba arkadaşlar,

Excel sayfamda 75 tane checkbox var. Kullanıcı bunlardan istediklerini işaretleyecek. Kaç adet checkbox2ın işaretlendiğini rakam olarak bir hücrede yada başka bir yerde göstermek istiyorum. Bunu nasıl yaparım.

Örnek A1 Hücresinde kaç checkbox seçildiyse ona ait toplam rakam değeri gelsin. Ben o değeri alır istediğim yerde kullanırım.

Saygılar.
 
İşaretli çekboxların sayısını a1 hücresine yazar.:cool:
Kod:
Sub cekbox()
Dim cb As Object
Range("A1").ClearContents
For Each cb In Sheets("Sayfa1").OLEObjects
    If cb.Object.Value = True Then
        Range("A1").Value = Range("A1").Value + 1
    End If
Next cb
End Sub
 
Evren Bey çok teşekkürler.

Ekli dosyada yapabilir misiniz? Ben beceremedim.
:)
 
Son düzenleme:
Aşağıdaki kırmızı satırı değiştiriniz.:cool:
Kod:
Sub cekbox()
Dim cb As Object
Range("A1").ClearContents
For Each cb In [B][COLOR="Red"]ActiveSheet[/COLOR][/B].OLEObjects
     If cb.Object.Value = True Then
         Range("A1").Value = Range("A1").Value + 1
     End If
Next cb
End Sub
 
Evren Bey,

Gönderdiğiniz kod doğru şekilde çalışıyor. Ancak her checkBox seçiminden sonra kodu manuel olarak çalıştırmanız gerekiyor. Beklenen olay ; checkbox seçilince sayı otomatik olarak bir artsın. Seçim kaldırılınca otomatik olarak bir azalsın. Yani kodun her tıklamada kendi kendine çalışması gerekiyor.
 
Evren Bey,

Gönderdiğiniz kod doğru şekilde çalışıyor. Ancak her checkBox seçiminden sonra kodu manuel olarak çalıştırmanız gerekiyor. Beklenen olay ; checkbox seçilince sayı otomatik olarak bir artsın. Seçim kaldırılınca otomatik olarak bir azalsın. Yani kodun her tıklamada kendi kendine çalışması gerekiyor.
Dosyanız ekte.
Kodları checkboxların click olayına yazdım.
ClassModüle uygulanarak kodlar kısaltılabilir.Onuda bilen bir arkadaş yaparsa öğrenmiş oluruz.
Dosya ekte.:cool:
 
CheckBox sayacı ?

Dosyanız ekte.
Kodları checkboxların click olayına yazdım.
ClassModüle uygulanarak kodlar kısaltılabilir.Onuda bilen bir arkadaş yaparsa öğrenmiş oluruz.
Dosya ekte.:cool:


Evren Bey,

Sayfada 75 tane checkbox var. Her biri için kod yazmaktansa, bunun daha kolay bir yolu olmalı. AMA NASIL :)
 
Ekli dosyayı inceleyin.

Teşekkürler Levent Bey,

Gönderdiğiniz dosya doğru çalışıyor. Gönderdiğiniz dosyadan aynı şekilde kodu alarak kendi excel dosyama alıyorum. Dosyayı kapatıp açtığımda aşağıdaki şekilde hata mesajı alıyorum.

Dosyamda sayfa koruması yok. Ancak kod sayfası korumalı. Bundan dolayı olabilir mi?
 
Levent bey classmodül kodları için teşekkür ederim.
yavaş yavaş galiba clasmodülün çalışma prensiplerini anlamaya başlıyorum.
İyi geceler.:)
 
Levent Menteşoğlu;308069' Alıntı:
Hayır bundan olmaz. Sebebi bulmak için dosyanızı eklemenizi öneririm.

Levent Bey,
Dosyayı göndermeden önce aşağıdaki koda bakabilir misiniz? Workbook sayfasında aşağıdaki ko var. Bu kod sebebiyle olabilir mi?

Dim ch() As New Class1
Private Sub Workbook_Open()
say = ActiveSheet.Shapes.Count
ReDim Preserve ch(say)
For a = 1 To say
tip1 = TypeName(ActiveSheet.Shapes(a).OLEFormat.Object)
If tip1 <> "OLEObject" Then GoTo 10
tip2 = TypeName(ActiveSheet.Shapes(a).OLEFormat.Object.Object)
If tip2 = "CheckBox" Then
c = c + 1
Set ch(c).ch = ActiveSheet.Shapes(a).OLEFormat.Object.Object
End If
10 Next
End Sub


Private Sub Workbook_Open()

If Date >= CDate("01.10.2008") Then
Call Tarih
MsgBox "&#214;deme tutarlar&#305; de&#287;i&#351;ti&#287;inden, bu dosyan&#305;n kullan&#305;m&#305;na izin verilmemektedir. L&#252;tfen g&#252;ncel tarihli dosya talep ediniz!!", vbCritical, "D&#304;KKAT"
End If
End Sub


NOT : &#199;al&#305;&#351;ma dosyas&#305;n&#305; buradan g&#246;ndemek istemiyorum. &#214;zel bir &#231;al&#305;&#351;ma oldu&#287;u i&#231;in. Ama isterseniz mail g&#246;nderebilirim.

centaurconstantine@gmail.com
 
Kesinlikle bundan ayn&#305; isimde iki prosed&#252;r olamaz. &#304;ki pros&#252;d&#252;r&#252; a&#351;a&#287;&#305;daki gibi birle&#351;tirin.

Kod:
Dim ch() As New Class1
Private Sub Workbook_Open()
If Date >= CDate("01.10.2008") Then
Call Tarih
MsgBox "&#214;deme tutarlar&#305; de&#287;i&#351;ti&#287;inden, bu dosyan&#305;n kullan&#305;m&#305;na izin verilmemektedir. L&#252;tfen g&#252;ncel tarihli dosya talep ediniz!!", vbCritical, "D&#304;KKAT"
exit sub
End If
say = ActiveSheet.Shapes.Count
ReDim Preserve ch(say)
For a = 1 To say
tip1 = TypeName(ActiveSheet.Shapes(a).OLEFormat.Object)
If tip1 <> "OLEObject" Then GoTo 10
tip2 = TypeName(ActiveSheet.Shapes(a).OLEFormat.Object.Object)
If tip2 = "CheckBox" Then
c = c + 1
Set ch(c).ch = ActiveSheet.Shapes(a).OLEFormat.Object.Object
End If
10 Next
End Sub
 
Levent Bey,

Dosyanın açılışı sırasında bu kez başka bir hata mesajı alıyorum. Mesaj ekte...
 
Yorum yapmak zor. Dosyan&#305;z&#305; sadece checkboxlar kalacak &#351;ekilde d&#252;zenleyerek ekleyin.
 
Yorum yapmak zor. Dosyanızı sadece checkboxlar kalacak şekilde düzenleyerek ekleyin.

Anladım. Ama bu imkansız. Çünkü sayfada 75 tane checkbox ve 3 tane CommandButton , ayrıca 4 tane de combobox var.

Sorunu anladım. Diğer nesneleri de saymaya çalışıyor. ama onlar sayılamaıyor. Hata bunda galiba.
Bunları kaldırmam malesef imkansız. Başka bir çözüm olamaz mı? Sadece checkboxların sayılması mümkün olamaz mı? Gruplasak? Tipini değiştirsek? Ne yapsak :)
 
Sayfadaki di&#287;er nesneler kodun &#231;al&#305;&#351;mas&#305;n&#305; etkilemez. &#199;&#252;nk&#252; kodu sadece checkboxlar&#305; dikkate alacak &#351;ekilde d&#252;zenledim. Birde checkboxlar&#305;n bulundu&#287;u sayfan&#305;n aktif sayfa olarak a&#231;&#305;lmas&#305;na dikkat edin.
 
Sayfadaki diğer nesneler kodun çalışmasını etkilemez. Çünkü kodu sadece checkboxları dikkate alacak şekilde düzenledim. Birde checkboxların bulunduğu sayfanın aktif sayfa olarak açılmasına dikkat edin.

Levent Bey,

Sorunun neden kaynaklandığını buldum. Excel sayfasının içinde word dökümanı eklediğimiz zaman bu sorunla karşılaşıyoruz. Word dökümanını eklemek yerine metin kutusu eklendiğinde sorun ortadan kalkıyor. Word dökümanı kalsa da ,yine de bir çözümü olmalı diye düşünüyorum.

Alakanız için çok teşekkürler. İyi geceler.
 
Geri
Üst