Select Case Kodunda Düzenleme

Feylosof

Altın Üye
Katılım
24 Temmuz 2019
Mesajlar
427
Excel Vers. ve Dili
EXCEL 2010 TÜRKÇE
Altın Üyelik Bitiş Tarihi
19-12-2025
İyi akşamlar diliyorum.
Aşağıdaki kodu nasıl düzenlemeliyim ki. CheckBoxlardan hangi veya hangilerini seçersem o kod devreye girsin.
Uğraştım ama beceremedim
Not: CheckBoxlar UserForm üzerindedir.
Kod:
Private Sub CommandButton1_Click()
Set S1 = Sheets(ListBox1.Value)
Set S2 = Sheets("SAYFA-2")
Set S3 = Sheets("SAYFA-3")
For k = 1 To 15
        With Me
           If k = True Then
    Select Case k
        Case 1
            S2.Range("b19:d19").ClearContents
        Case 2
             S2.Range("b24:d24").ClearContents
        Case 3
'             S2.Range("b21:d21").ClearContents
        Case 4
            S2.Range("b21:d21").ClearContents
        Case 5
'                S2.Range("b21:d21").ClearContents
        Case 6
             S1.Range("D12:F12").ClearContents
        Case 7
             S2.Range("b20:d20").ClearContents
        Case 8
            S2.Range("b23:d23").ClearContents
        Case 9
             S2.Range("b22:d22").ClearContents
        Case 10
'            S1.Range("D8:F8").ClearContents
        Case 11
            S1.Range("D8:F8").ClearContents
        Case 12
            S1.Range("D9:F9").ClearContents
        Case 13
'            S1.Range("D14:F14").ClearContents
        Case 14
            S1.Range("D14:F14").ClearContents
        Case 15
            S1.Range("D13:F13").ClearContents
      
    End Select
                End With

   Next


End Sub
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,640
Excel Vers. ve Dili
2021 PRO [TR]
Örnek çalışmayı inceleyiniz.
CheckBoxların isimlerini değiştirmediğinizi varsayarsak:
Kod:
Private Sub CommandButton1_Click()

'formdaki tüm nesneleri kontrol et
For Each ctrl In Me.Controls

    'eğer nesne tipi Checkbox ise
    If TypeName(ctrl) = "CheckBox" Then
       
        've checkbox işaretli ise
        If (ctrl.Value = True) Then
       
            Dim ad As String    'adını saklamak için
            Dim k As Byte       'sayısal bilgisini saklamak için
           
            ad = ctrl.Name
            k = CInt(Replace(ad, "CheckBox", ""))
           
            Select Case (k)
                Case 0
                    '0 ise yapılacaklar
                    MsgBox ("0 nolu checkbox görevleri")
                   
                Case 1
                    '1 ise yapılacaklar
                    MsgBox ("1 nolu checkbox görevleri")
               
                Case 2
                    '2 ise yapılacaklar
                    MsgBox ("2 nolu checkbox görevleri")
                   
                Case Else
                    'bunların haricinde bir durum oluştu HATA
                    MsgBox ("HATA")
            End Select
           
           
        End If
    End If
Next ctrl

End Sub
 

Ekli dosyalar

Feylosof

Altın Üye
Katılım
24 Temmuz 2019
Mesajlar
427
Excel Vers. ve Dili
EXCEL 2010 TÜRKÇE
Altın Üyelik Bitiş Tarihi
19-12-2025
Sayın @systran üstadım. Tam istediğim gibi oldu. Elinize emeğinize sağlık.
 

Feylosof

Altın Üye
Katılım
24 Temmuz 2019
Mesajlar
427
Excel Vers. ve Dili
EXCEL 2010 TÜRKÇE
Altın Üyelik Bitiş Tarihi
19-12-2025
Bir şey daha sormak istiyorum. CheckBox isimleri sayfanın birinci satırından alınacak olursa kodu nasıl revize edebiliriz acaba
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,640
Excel Vers. ve Dili
2021 PRO [TR]
Biraz daha açıklar mısınız?
 

Feylosof

Altın Üye
Katılım
24 Temmuz 2019
Mesajlar
427
Excel Vers. ve Dili
EXCEL 2010 TÜRKÇE
Altın Üyelik Bitiş Tarihi
19-12-2025
Biraz daha açıklar mısınız?
Sayfa1 de Checkbox isimlerini örneğin aşağıdaki kodla
Kod:
Private Sub UserForm_Initialize()
For y = 1 To 15
        With Me
            .Controls("CheckBox" & y).Caption = Cells(1, y)
        End With
    Next

End Sub
"A1 İle O1" arasında sütun başlıklarından oluşturduktan sonra. Yukarıdaki sizin kodunuza bu şekilde uyarlayabilir miyiz
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,640
Excel Vers. ve Dili
2021 PRO [TR]
isin (NAME) özelliği sadece okunabilir bir özelliktir nesne oluşturulurken isim verilir, daha sonradan adını değiştirmeye çalışırsak hata verecektir.
VBA tarafında da dinamik olarak nesne ekleyip çıkarmak için şurayı inceleyebilirsiniz.
 

Feylosof

Altın Üye
Katılım
24 Temmuz 2019
Mesajlar
427
Excel Vers. ve Dili
EXCEL 2010 TÜRKÇE
Altın Üyelik Bitiş Tarihi
19-12-2025
isin (NAME) özelliği sadece okunabilir bir özelliktir nesne oluşturulurken isim verilir, daha sonradan adını değiştirmeye çalışırsak hata verecektir.
VBA tarafında da dinamik olarak nesne ekleyip çıkarmak için şurayı inceleyebilirsiniz.
İlgi ve desteğiniz için teşekkürler. Bu sayfayı biraz daha detaylı incelemem gerekir sanırım. Kalın sağlıcakla
 
Üst