userform'un ekran boyutu ile aynı olması

Katılım
28 Nisan 2005
Mesajlar
25
Çalışma kitabım içerisinde 14 tane userform oluşturdum ve bu userformların hangi ekran boyutu olursa olsun tüm ekranı kaplamasını istiyorum.Bunun için daha önce sayın Raider bir kod göndermişti.Aşağıdaki kodu her userformun altına yazmaktansa çalışma kitabındaki tüm userformlara nasıl kodlayabilirim? Bunun başka bir yöntemi var mı?


YARDIMINIZ İÇİN TEÞEKKÜRLER;

Private Sub UserForm_Initialize()
Dim X1 As Long, Y1 As Long, Y2 As Long, X2 As Long
Dim CX As Double, CY As Double
Dim MyCtrl As Control
X1 = Application.Width
Y1 = Application.Height
X2 = Me.Width
Y2 = Me.Height
CX = X1 / X2
CY = Y1 / Y2
Me.Width = X1
Me.Height = Y1
For Each MyCtrl In Me.Controls
MyCtrl.Top = MyCtrl.Top * CY
MyCtrl.Left = MyCtrl.Left * CX
MyCtrl.Width = MyCtrl.Width * CX
MyCtrl.Height = MyCtrl.Height * CY
On Error Resume Next
MyCtrl.Font.Size = MyCtrl.Font.Size * CY
On Error GoTo 0
Next
End Sub
 
Katılım
10 Ağustos 2005
Mesajlar
5
Bir de bu kodu denermisin...

Private Sub UserForm_Initialize()
With UserForm1
.Height = Application.Height
.Width = Application.Width
End With
End Sub
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sn kadirguney
Sizin verdiğiniz kodda sadece userformun kendisi tam ekran olur, üzerindeki nesnelerin boyutu değişmez, Eğer nesnelerinde boyutununda orantılı olarak değişmesini isterseniz, Sn Raider'in verdiği kodu uygulamanız gerekecektir.

Sn alpergltekin

Sanıyorum tüm userformlara tek bir kodla kodu uygulamak mümkün değil neticede her userformun üzerindeki kontrol sayısı farklı olacaktır. Bu durumda her userforma ayrı ayrı yazmanız gerekecektir.
 
Üst