toplu checkbox işaretleme

Katılım
17 Kasım 2009
Mesajlar
295
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
24-12-2023
merhaba arkadaşlar 20 adet textbox kutusu var commandbutton içinde küçük bir döngü ile toplu seçebilirmiyiz
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Çekboxmı?Textboxmı?:cool:
 
Katılım
17 Kasım 2009
Mesajlar
295
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
24-12-2023
commandbutton ile 20 adet checkboxu döngü ile işaretlemek istiyorum
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
commandbutton ile 20 adet checkboxu döngü ile işaretlemek istiyorum
İlk sorunuzda textbox demişsiniz.
Dosyanız ektedir.
Kod:
Private Sub CommandButton1_Click()
Dim i As Byte
For i = 1 To 20
    Me.Controls("CheckBox" & i) = True
Next i
End Sub

Private Sub CommandButton2_Click()
Dim i As Byte
For i = 1 To 20
    Me.Controls("CheckBox" & i) = False
Next i
End Sub
 

Ekli dosyalar

Katılım
28 Eylül 2007
Mesajlar
9
Excel Vers. ve Dili
office2007
Altın Üyelik Bitiş Tarihi
03/11/2018
hücre birleştrimede otomatik enter tuşuna bastırmak

Private Sub CheckBox4_Click()
Application.ScreenUpdating = False
ActiveSheet.Unprotect "7832"
Range("B10:D10").Select
Selection.Merge
' buraya enter tuşunu kod ile bastırabilirmiyiz acaba?
Range("B11:D11").Select
Selection.Merge
' buraya enter tuşunu kod ile bastırabilirmiyiz acaba?

Range("B12:D12").Select
Selection.Merge
' buraya enter tuşunu kod ile bastırabilirmiyiz acaba?

Range("B13:D13").Select
Selection.Merge
' buraya enter tuşunu kod ile bastırabilirmiyiz acaba?

Range("B14:D14").Select
Selection.Merge
' buraya enter tuşunu kod ile bastırabilirmiyiz acaba?

ActiveSheet.Protect "7832"
Application.ScreenUpdating = True
End Sub
 
Katılım
17 Kasım 2009
Mesajlar
295
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
24-12-2023
çok teşekkür ederim yardımınız için
 
Katılım
4 Temmuz 2019
Mesajlar
46
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
15-08-2020
Yeni konu açmamak için buraya yazdım.

Benim istediğim yukarıdakinden biraz farklı.

Dosyamda 10 dan fazla checkbox var ve ben en başa bir tane daha ekleyip adını "tümünü seç" yapıp diğer checkbox hücre bağlantılarını toplu olarak bu checkboxa bağlamak istiyorum.
Yani hem tek tek işaretleyebileyim hem de duruma göre bir checkbox ile diğerlerine toplu olarak tik koyabileyim istiyorum.

Nasıl yaparım?
 
Katılım
4 Temmuz 2019
Mesajlar
46
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
15-08-2020
Yardımlarınızı rica ediyorum.
 
Katılım
4 Temmuz 2019
Mesajlar
46
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
15-08-2020
Örnek dosyayı ekledim.

En baştaki "tümünü onayla" ya basınca hepsini onaylasın ama "onayla" işaretlerinden birini kaldırınca da "tümünü onayla"daki onay kalksın istiyorum.

Aynı zamanda teker teker onaylayabilmem gerekiyor ve mesela teker teker hepsini onaylayınca da "tümünü onayla" da otomatik işaretlensin istiyorum.

Ayrıca bunları makro kodu olmadan yapabilmemin bir yolu var mı? Önceliğim bu çünkü.

Hücre bağlantısı yoluyla vs. denedim sadece bir hücreye bağlantı verebiliyorum.
 

Ekli dosyalar

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2016 Excel Tr
Aşağıdaki kodu bağlayıp deneyin.
Kod:
Sub OnayKutusu92_Tıkla()
  Dim c As CheckBox
    For Each c In ActiveSheet.CheckBoxes
        If c.Name <> ActiveSheet.CheckBoxes("Onay Kutusu 92").Name Then
            c.Value = ActiveSheet.CheckBoxes("Onay Kutusu 92").Value
        End If
    Next
End Sub
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Alternatif

Kod:
Sub CheckBox()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)

    If xChk.Text = "TÜMÜNÜ ONAYLA" Then
git:
        For Each chki In ActiveSheet.CheckBoxes
            With chki
                If xChk.Value <> xlOff Then
                    .Value = True
                Else
                    .Value = False
                End If
            End With
        Next
    
    Else
    
        For Each chkx In ActiveSheet.CheckBoxes
            If chkx.Text <> "TÜMÜNÜ ONAYLA" Then
                With chkx
                    If chkx.Value <> xlOff Then
                        chk = True
                    Else
                    
                        For Each chky In ActiveSheet.CheckBoxes
                            If chky.Text = "TÜMÜNÜ ONAYLA" Then
                                chky.Value = False
                                Exit For
                            End If
                        Next
                        
                        chk = False
                        Exit For
                    End If
                End With
            End If
        Next
        If chk = True Then GoTo git
    End If
End Sub
 

Ekli dosyalar

Katılım
4 Temmuz 2019
Mesajlar
46
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
15-08-2020
Aşağıdaki kodu bağlayıp deneyin.
Kod:
Sub OnayKutusu92_Tıkla()
  Dim c As CheckBox
    For Each c In ActiveSheet.CheckBoxes
        If c.Name <> ActiveSheet.CheckBoxes("Onay Kutusu 92").Name Then
            c.Value = ActiveSheet.CheckBoxes("Onay Kutusu 92").Value
        End If
    Next
End Sub
Mahmut Bey, teşekkür ederim kod çalışıyor ancak alttaki checkbox lardan birinden onayı kaldırınca tümünü onayladaki işaretin de kalkmasını sağlayabilirmiyiz?
 
Katılım
4 Temmuz 2019
Mesajlar
46
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
15-08-2020
Alternatif

Kod:
Sub CheckBox()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)

    If xChk.Text = "TÜMÜNÜ ONAYLA" Then
git:
        For Each chki In ActiveSheet.CheckBoxes
            With chki
                If xChk.Value <> xlOff Then
                    .Value = True
                Else
                    .Value = False
                End If
            End With
        Next
   
    Else
   
        For Each chkx In ActiveSheet.CheckBoxes
            If chkx.Text <> "TÜMÜNÜ ONAYLA" Then
                With chkx
                    If chkx.Value <> xlOff Then
                        chk = True
                    Else
                   
                        For Each chky In ActiveSheet.CheckBoxes
                            If chky.Text = "TÜMÜNÜ ONAYLA" Then
                                chky.Value = False
                                Exit For
                            End If
                        Next
                       
                        chk = False
                        Exit For
                    End If
                End With
            End If
        Next
        If chk = True Then GoTo git
    End If
End Sub
Emre Bey, desteğiniz için teşekkür ederim ancak şu şekilde bir hata alıyorum.
 

Ekli dosyalar

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Emre Bey, desteğiniz için teşekkür ederim ancak şu şekilde bir hata alıyorum.
Merhaba gönderdiğim kodlar da "Option Explicit" satırı yoktu o satırı silerseniz çalışır. yada aşağıdaki kodlar ile deneyiniz.

Kod:
Option Explicit
 
Sub CheckBox()
Dim xChk As CheckBox, chki As CheckBox, chkx As CheckBox, chky As CheckBox, chk As String


Set xChk = ActiveSheet.CheckBoxes(Application.Caller)

    If xChk.Text = "TÜMÜNÜ ONAYLA" Then
git:
        For Each chki In ActiveSheet.CheckBoxes
            With chki
                If xChk.Value <> xlOff Then
                    .Value = True
                Else
                    .Value = False
                End If
            End With
        Next
    
    Else
    
        For Each chkx In ActiveSheet.CheckBoxes
            If chkx.Text <> "TÜMÜNÜ ONAYLA" Then
                With chkx
                    If chkx.Value <> xlOff Then
                        chk = True
                    Else
                    
                        For Each chky In ActiveSheet.CheckBoxes
                            If chky.Text = "TÜMÜNÜ ONAYLA" Then
                                chky.Value = False
                                Exit For
                            End If
                        Next
                        
                        chk = False
                        Exit For
                    End If
                End With
            End If
        Next
        If chk = True Then GoTo git
    End If
End Sub
 
Katılım
4 Temmuz 2019
Mesajlar
46
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
15-08-2020
Emre Bey,

Bunda da şöyle bir hata çıkıyor.

İlk gönderdiğiniz kodu "Option Explicit" olmadan denedim çalıştı. Teşekkür ederim. Ama kendi dosyama uyguladığımda işlemiyor.

Ayrıca diğer kutulardan işareti kaldırınca "Tümünü Onayla" daki işaretin de kalkmasını sağlayabilir miyiz?
 

Ekli dosyalar

Son düzenleme:

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
12 numaralı mesajda gönderdiğim dosyayı denediniz mi , dosyada bu söyledikleriniz oluyor mu ?
 
Katılım
4 Temmuz 2019
Mesajlar
46
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
15-08-2020
12 numaralı mesajda gönderdiğiniz dosyayı denedim, oradaki kodu aynı şekilde kendi dosyama eklediğimde şöyle bir durum var

Benim orjinal dosyamda "TÜMÜNÜ ONAYLA" yazan kısımda kısaca "TÜMÜ" yazıyor.
Bu şekilde kodu uyguladığımda kodda yazan kısmı düzeltsem de çalışmıyor.

Kendi dosyamdakini de "TÜMÜNÜ ONAYLA" ya çevirince çalıştı ancak o zaman da şöyle bir sorun ile karşılaştım;
Benim dosyamda size gönderdiğim örnekteki gibi 3 farklı sütun var ve hepsinin başında "TÜMÜ" diye bir kısım var. Bu kodu bir tanesine uyguladığımda normalde tek sütun için işlemesi gerekirken o sayfada mevcut tüm checkbox'lar işaretleniyor.

Kendi dosyamdakiyle eş değer bir dosyayı aşağıya ekledim tekrar bir inceler misiniz?
 

Ekli dosyalar

Katılım
4 Temmuz 2019
Mesajlar
46
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
15-08-2020
Emre bey elinize sağlık gönderdiğiniz dosya tam istediğim gibi ama kendi dosyama uyarlarken her şey aynı olmasına rağmen hata veriyor. Debug yapınca bu satıra yönlendiriyor
Kod:
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
Benim dosyamda aynı sayfa ocak, şubat, mart... gibi farklı sekmelerde de mevcut ondan olabilir mi? Ama pek sanmıyorum önceki kodlar çalışmıştı çünkü.
 

Ekli dosyalar

Üst