• DİKKAT

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

User Form'da Sıralı Frameler

Katılım
15 Ocak 2009
Mesajlar
257
Excel Vers. ve Dili
Türkçe 2010
Merhabalar,

Tüm Form üyelerinin cuması mübarek olsun.

Benim yapmak istediğimi kısaca anlatayım.


İki adet User Form mevcut birtanesinde Frameler Diğerinde CheckBox lar mevcut UserForm1 Açıldığında Frame ler görüntülenebilir özelliği kapalı UserForm2 de ki CheckBox lardan seçtiğim Frame ler görünsün istiyorum Tabi 9 adet Frame olduğu için bazıları aktif bazıları aktif olmayacaktır aktif olanların UserForm1 üzerinde yan yana gelmesi gerekir ( örnek resimdeki gibi ) Cevaplarınız için şimdiden teşekkür ederim.
 

Ekli dosyalar

Dosyanız ekte.:cool:
Kod:
Sub frameler()
Dim indis As Byte, i As Byte, z As Byte, sol As Integer, ust As Integer, say As Byte
indis = 2: sol = 24: ust = 324
For i = 1 To 2
    For z = 1 To 4
        Controls("Frame" & indis).Left = sol
        Controls("Frame" & indis).Top = ust
        indis = indis + 1
        sol = sol + 66
    Next z
    sol = 24: ust = 396
Next i
indis = 2: sol = 70: ust = 40
For i = 1 To 8
    If say = 4 Then
        sol = 70: ust = 125
    End If
    If UserForm2.Controls("CheckBox" & i) = True Then
        Controls("Frame" & i + 1).Left = sol
        Controls("Frame" & i + 1).Top = ust
        sol = sol + 66
        say = say + 1
    End If
Next i
End Sub
 

Ekli dosyalar

Sn Evren GİZLEN bey çok teşekkür ederim gerçekten hariha olmuş.

Kod anlatılmaz yazılır.
 
Evren Hocam

Selamlar;

Hocam bu işlemi Frame1'e sağ ve soldan ortalatarak uygulayabilirmiyiz .

Hayırlı işler.
 
Selamlar;

Hocam bu işlemi Frame1'e sağ ve soldan ortalatarak uygulayabilirmiyiz .

Hayırlı işler.
Dosyanız ekte.:cool:
Kod:
Sub frameler()
Dim indis As Byte, i As Byte, z As Byte, sol1 As Integer, ust As Integer, say As Integer
Dim bosluk1 As Integer, frm As Collection, bosluk2 As Integer, sol2 As Integer
Set frma = New Collection
indis = 2: sol = 24: ust = 324
For i = 1 To 2
    For z = 1 To 4
        Controls("Frame" & indis).Left = sol
        Controls("Frame" & indis).Top = ust
        indis = indis + 1
        sol = sol + 66
    Next z
    sol = 24: ust = 396
Next i
indis = 2:  ust = 40
For i = 1 To 8
    If UserForm2.Controls("CheckBox" & i) = True Then
        frma.Add Controls("Frame" & i + 1).Name
        say = say + 1
        If say < 5 Then
            sol1 = sol1 + (Controls("Frame" & i + 1).Width / 2) + 5
            Else
            sol2 = sol2 + (Controls("Frame" & i + 1).Width / 2) + 5
        End If
        
    End If
Next
sol1 = (UserForm1.Width / 2) - (sol1)
sol2 = (UserForm1.Width / 2) - (sol2)
say = 0
On Error Resume Next
For i = 1 To frma.Count
    If frma.Item(i) <> "" Then
        say = say + 1
        If say < 5 Then
            Controls(frma.Item(i)).Left = sol1
            Controls(frma.Item(i)).Top = 40
            sol1 = sol1 + Controls(frma.Item(i)).Width + 10
            Else
            Controls(frma.Item(i)).Left = sol2
            Controls(frma.Item(i)).Top = 130
            sol2 = sol2 + Controls(frma.Item(i)).Width + 10

        End If
    End If
Next i
frma.Clear: say = 0
End Sub
 

Ekli dosyalar

Evren Hocam Müthişsiniz; Sayenizde güzel şeyler öğreniyorum


Tekrar hayırlı günler ve işler.:):hey:
 
Sn veyselemre ilginiz için tşk.
 
Geri
Üst