petsiye
Altın Üye
- Katılım
- 28 Eylül 2009
- Mesajlar
- 193
- Excel Vers. ve Dili
- Office 2019 TR 32 Bit
- Altın Üyelik Bitiş Tarihi
- 10-05-2029
Merhaba,
Excel dosyamda onlarca farklı Userform bulunmakta. Çoğunun Initialize kodu aşağıdaki gibidir. Benim sorunum, dosyayı 2 veya 3 monitör ile kullanan kullanıcılar, Excel dosyasının tablo kısmının bir monitörde, Userformun ise başka bir monitörde açıldığını belirtiyor. Excel dosyası hangi monitörde aktifse, Userformların da yine aynı monitörde açılmasını sağlamak istiyorum. ( Userformları taşımasını engellediğim için manuel taşıyamıyorlar. Taşımayı aktif hale getirdiğimde Userform görsel olarak ekranı ortamayabiliyor dolayısıyla bunu aktif hale getirmek istemiyorum )
Bu konuda bana yardımcı olabilecek üstadlara şimdiden çok teşekkür ederim.
Saygılarımla
Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Left = Application.Left + 0
Me.Top = Application.Top + 0
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
MyCtrl.Font.Size = MyCtrl.Font.Size * CY
On Error GoTo 0
Next
End Sub
Excel dosyamda onlarca farklı Userform bulunmakta. Çoğunun Initialize kodu aşağıdaki gibidir. Benim sorunum, dosyayı 2 veya 3 monitör ile kullanan kullanıcılar, Excel dosyasının tablo kısmının bir monitörde, Userformun ise başka bir monitörde açıldığını belirtiyor. Excel dosyası hangi monitörde aktifse, Userformların da yine aynı monitörde açılmasını sağlamak istiyorum. ( Userformları taşımasını engellediğim için manuel taşıyamıyorlar. Taşımayı aktif hale getirdiğimde Userform görsel olarak ekranı ortamayabiliyor dolayısıyla bunu aktif hale getirmek istemiyorum )
Bu konuda bana yardımcı olabilecek üstadlara şimdiden çok teşekkür ederim.
Saygılarımla
Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Left = Application.Left + 0
Me.Top = Application.Top + 0
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
MyCtrl.Font.Size = MyCtrl.Font.Size * CY
On Error GoTo 0
Next
End Sub