Bir sayfada birden fazla onay kutum var ve başka bir sayfada da formum var. Bir onay kutusu seçildiğinde, uygun içerik form sayfasında bir sütun olarak eklenir.
500'den fazla onay kutum var, bu yüzden bunu yapmanın kolay bir yolunu oluşturmak istiyorum. Örneğin, aşağıdaki onay kutularına sahibim:
- PROJECT_ID
- Proje Başlığı
- Proje tipi
- Proje durumu
Bu onay kutularının CB_
nesne adı, Project_Type nesnesinin adı onay kutusuyla başlar CB_Project_Type
.
Şimdi tıklandığında her onay kutusu için bir işlev yarattım. Örneğin, işlev ismi şudur: Sub CB_Project_Type_Click()
İşlev, bu sütunun var olup olmadığını kontrol eder ve onu form sayfasına ekler.
Tüm onay kutuları için bir işlev oluşturmak aptalca olacaktır. Bunun için dinamik bir yöntem istiyorum. Bunun gibi bir şey: "HERHANGİ BİR" onay kutusu seçildiyse, form sayfasına eşleşen bir adı olan sütunu eklemek için bu onay kutusu nesne adını kullanın.
Şu an kullandığım şey şudur:
Sub CB_Projects_Type_Click()
CB_List "Projects_Type"
End Sub
Sub CB_List(Name As String)
If ActiveSheet.Shapes("CB_" & Name).ControlFormat.Value = 1 Then
For i = 0 To 99
If IsEmpty(Sheets("English").Range("B1").Offset(0, i)) Then
Sheets("English").Columns(i + 2).Copy
Sheets("English").Columns(i + 3).Insert
Sheets("English").Range("B1").Offset(0, i).Value = Name
i = 99
End If
Next i
Else
For i = 0 To 99
If Sheets("English").Range("B1").Offset(0, i).Value = Name Then
Sheets("English").Columns(i + 2).Delete
i = 99
End If
Next i
End If
End Sub
Öyleyse, en azından onay kutusundan bu sütunu almak için tek bir işlev kullandığımı görebilirsiniz, ancak yine de her onay kutusu için bir Sub oluşturmanız gerekir. İşlev ismini nesne isminden alacak bir nihai işlevi nasıl kullanabilirim?
Umarım temizimdir.