UserForm' komple full Ekran yapma

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Arkadaşlar ekli dosyada bir adet UserForm ve içinde iki tane TextBox ve iki tane de ListBox var.
Kod ile UserForm Full ekran oluyor. Ben UserForm hangi bilgisayarda açılırsa açılsın UserForm ve içindeki TextBox ve ListBox lar da (içindeki yazı fontlar dahil) UserForm oranı ile birlikte otomatik büyüyüp Full ekrana uygun hale gelmesi için nasıl bir kod gerekir.
Selamlar...
 

Ekli dosyalar

Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Deneyin
Kod:
Private Sub UserForm_Initialize()
With Application
.WindowState = xlMaximized
Zoom = Int(.Width / Me.Width * 100)
Width = .Width
Height = .Height
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
Aşağıdaki gibide deneyebilirsiniz.

Kod:
Dim ilkyukseklik As Double

Private Sub UserForm_Initialize()
ilkyukseklik = Me.Height
End Sub

Private Sub UserForm_Activate()
    Dim hWndForm As Long, frmStyle As Long
    hWndForm = FindWindow(vbNullString, Me.Caption)
    frmStyle = GetWindowLong(hWndForm, (-16))
    frmStyle = frmStyle Or &H80000 Or &H20000 Or &H10000
    SetWindowLong hWndForm, (-16), frmStyle
    ShowWindow hWndForm, 3
    DrawMenuBar hWndForm
    
Me.Zoom = Round((Me.Height / ilkyukseklik) * 100, 0)

End Sub
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Aşağıdaki gibide deneyebilirsiniz.

Kod:
Dim ilkyukseklik As Double

Private Sub UserForm_Initialize()
ilkyukseklik = Me.Height
End Sub

Private Sub UserForm_Activate()
    Dim hWndForm As Long, frmStyle As Long
    hWndForm = FindWindow(vbNullString, Me.Caption)
    frmStyle = GetWindowLong(hWndForm, (-16))
    frmStyle = frmStyle Or &H80000 Or &H20000 Or &H10000
    SetWindowLong hWndForm, (-16), frmStyle
    ShowWindow hWndForm, 3
    DrawMenuBar hWndForm
   
Me.Zoom = Round((Me.Height / ilkyukseklik) * 100, 0)

End Sub
Levent Hocam çok teşekkürler. Tam istediğim Bu idi
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Deneyin
Kod:
Private Sub UserForm_Initialize()
With Application
.WindowState = xlMaximized
Zoom = Int(.Width / Me.Width * 100)
Width = .Width
Height = .Height
End With
End Sub
Ali Hocam size de teşekkür ederim.
sizin kodda çalıştı ama bir sıkıntı şu:
UserFormdaki Textbox ve listbox ların ilk hali
247304

Ama kod çalıştıktıktan sonra Textboxlar aynı oranda değil ekrandan taşıyor

247306
 

Ekli dosyalar

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
Kodlardaki 100 sayısını 90 veya 80 yaparak deneyin.
Ali Bey önerdiğiniz kodda aşağıdaki satırda width yerine kısa kenar olan height değerini kullanırsanız aynı sonucu verecektir.

Zoom = Int(.Width / Me.Width * 100)
 
Üst