UserForm Üzerine Nesne Ekleme

muhammethezer

Altın Üye
Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
12-03-2026
Merhaba, Aşağıdaki kod bloğu ile Excel Sayfası Referanslar!A3:A39 arasında bulunan verilerden
User form üzerine otomatik olarak Label ve bir adet TextBox ekleyebiliyorum.
Yapmak istediğim işlem, herbir Label'ın karşısına bir adet TextBox eklemek. Ekli dosyada UserForm üzerinde yapmak istediğim işlem ile ilgili bir Label ve TextBox dizilişi bulunmaktadır.

'PLİNT Hocama Kodlara yardım ettiği için teşekkür ederim.

Private Sub CommandButton1_Click()
'Otomatik Label Oluşturuyoruz.
x = 10: c = 3
For a = 3 To Cells(Rows.Count, "A").End(3).Row
Set b = UserForm1.Controls.Add("Forms.Label.1", "Label" & a - 2, True)
With b
.Caption = Cells(a, "A")
.Left = x
.Width = 150
.Top = 13 * c
' .heigth=
.BackColor = vbGreen
End With
c = c + 1
If a = 20 Then x = x + 110: c = 3
Next
Set t = UserForm1.Controls.Add("Forms.TextBox.1", "TextBox1", True)
t.Left = 250
t.Width = 50
t.Top = 30
End Sub
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,272
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Alternatif olsun.
Aşağıdaki kodları deneyin.

Kod:
Private Sub CommandButton1_Click()
    Dim x As Integer
    Dim c As Integer
    Dim a As Integer
    Dim b As Control
    Dim t As Control
    x = 10
    c = 3
    For a = 3 To Cells(Rows.Count, "A").End(3).Row
        Set b = UserForm1.Controls.Add("Forms.Label.1", "Label" & a - 2, True)
        With b
            .Caption = Cells(a, "A")
            .Left = x
            .Width = 150
            .Top = (13 * c)
            ' .heigth=
            .BackColor = &H8000000F
            .TextAlign = fmTextAlignRight
        End With
        Set t = UserForm1.Controls.Add("Forms.TextBox.1", "TextBox1", True)
        With t
            .Left = x + b.Left + b.Width
            .Width = 150
            .Top = 13 * c
        End With
        c = c + 1
        If a = 20 Then x = x + 110: c = 3
    Next
End Sub
Labellerin arası biraz daha açık olsun istersen c = c + 1 buradaki 1'i 2 yapabilirsin.
 

muhammethezer

Altın Üye
Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
12-03-2026
Desteklerinizden dolayı tüm Hocalarıma Teşekkür Ederim.
 
Üst