• DİKKAT

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

UserForm üzerindeki checkbox ları döngü içerisinde kullanmak

Katılım
12 Ağustos 2013
Mesajlar
65
Excel Vers. ve Dili
Excel 2016 Türkçe, Excel 2010 Türkçe
Selamlar,
UserForm üzerinde 105 adet Checkbox kutusu var. Checkboxlar'dan herhangi biri işaretlendiğinde "G3: DG3" aralığına kaydetmesini istiyorum. Bunu yaptım fakat checkboxları döngüye sokmayı beceremediğimden 105 tane için tek tek yaptım. Örnek bir tanesini yazayım

Kod:
Private Sub CheckBox12_Click() 'Cep körüklü
    Dim Sonsatir As Long
    Sonsatir = Range("A65500").End(3).Row + 1
    If CheckBox12.Value = True Then
    Sheets("fiyat").Cells(Sonsatir, "G").Offset(0, 26).Value = Sheets("veriler").Cells(29, "G").Value
    Else: Sheets("fiyat").Cells(Sonsatir, "G").Offset(0, 26).ClearContents
    End If
End Sub

Velhasıl, Checkbox larda sağa doğru sütunlara değer yazdırmak için bir döngü kurulabilir mi?
Teşekkürler.
 
Tüm checkbox ların click olayına call kontrol_Et ekeleyin.

Private Sub checkbox1_Click()
call kontro_Et
End Sub

Yada checkbox lar işaretlendikten sonra bir buton ile bu konu çalıştırın.
Ttüm checkbox ları kontrol edecektir.


Kod:
Private Sub kontrol_et()
   Dim contr As control
   For Each contr In UserForm1.Controls
        If TypeName(contr) = "CheckBox" Then
            If contr.Value = True Then
                 'seçili ise bunları yap
            Else
                 'seçili değil ise bunları yap
            End if
        End if
   Next
End Sub
 
Dediğiniz gibi yaptım fakat call kontrol_et kısmında hata veriyor. Modül 1 deki makronun doğru olup olmadığını bilmiyorum. Dosya ektedir.
Teşekkürler.
 

Ekli dosyalar

Userform içindeki bütün kodları silip aşağıdakini ekleyip deneyiniz.
Kod:
Private Sub CommandButton1_Click()
SonSatir = Worksheets("Sayfa1").Range("A65500").End(3).Row + 1
For i = 1 To 9
 If Controls("CheckBox" & i).Value = True Then
Sheets("Sayfa1").Cells(SonSatir, i + 6).Value = Sheets("Sayfa2").Cells(2, i).Value
Else
Sheets("Sayfa1").Cells(SonSatir, i + 6).Value = ""
End If
Next i
End Sub
 
5 nolu mesajda ki kodlarda bazı değişiklikler yaptım.
Tekrar deneyiniz.:cool:
 
vardar07 hocamın yaptığı gibi bişey istiyodum. Benim yaptığım dosyayı da ekliyorum. Böylece ne demek istediğimi daha iyi anlatmış olacağım. A:E aralığındaki bilgiler userform1 de dolduruluyor. Daha sonra bu müşteriye ait fiyatı belirlerken, eğer fiyat 3 gruptan birine dahil değilse diğer isimli optionbutton ile fiyatların olduğu userform açılıyor ve burada işaretlenen checkbox lar fiyat olarak müşterinin karşısındaki alana yazdırılıyor. İlk sorum buradaki checkbox ları tek tek yaptığım için can sıkıcı bir durum oluştu benim için. vardar07 hocam ona cevap verdi.

Bir sorum daha olacak. F sütunundaki fiyatlar kısmını toplam formülü ile yaptım. Bunu da makro ile çalışır hale getirmek için nasıl birşey yapılabilir?

Teşekkürler.
 
Dosya eklemeyi unuttum özür dilerim.
 

Ekli dosyalar

Geri
Üst