USERFORMUN DİREK AÇILMASI

aliadanur

Altın Üye
Katılım
28 Ekim 2020
Mesajlar
53
Excel Vers. ve Dili
Excel 2007
Altın Üyelik Bitiş Tarihi
25-12-2028
Üstadlarım merhaba ;
Userform ile mevcut bir programı tıkladığımda direk açılmasını sağlamaya çalışıyorum.
yaptığım araştırmada aşağıdaki gibi bir kod ile olabileceğini önerdiler.

Private Sub UserForm_Initialize() 'Userformun direk karşılaması için
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

Ancak Initialize'de iki ayrı işlev için başka kodlar da mevcut. Ben şu şekilde ekleme yaptım ancak olmadı. Yine excel sayfası açılıyor ve oradan tıkladığımda userform tam ekran oluyor. Yardımlarınız için şimdiden teşekkür ederim. Uyguladığım kod aşağıdadır. programa tıklayınca excel sayfaları görünmeden direk userformun açılmasını istiyorum.

Private Sub UserForm_Initialize()
Dim a As Byte
For a = 24 To 45
Me.Controls("Textbox" & a).Text = Sayfa1.Range("A" & a).Value

TextBox47.Text = CDate(Date)


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
Next
End Sub
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,604
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Aşağıdaki kodu bir modüle yapıştırınız.
C++:
Sub AUTO_OPEN()
    Application.Visible = False
    UserForm1.Show
    Application.Visible = True
End Sub
Sonra aşağıda bir kısmını yazdığım kodunuzın adını(ilk satırını) Private Sub Tam_Ekran() olarak değiştiriniz.
Kod:
Private Sub UserForm_Initialize() 'Userformun direk karşılaması için
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
Daha sonra sizin Private Sub UserForm_Initialize() adlı kodunuzdaki Dim ile başlayan satırın hemen altına şu satırı Call Tam_Ekran
ekleyiniz.
 

aliadanur

Altın Üye
Katılım
28 Ekim 2020
Mesajlar
53
Excel Vers. ve Dili
Excel 2007
Altın Üyelik Bitiş Tarihi
25-12-2028
Merhaba,
Aşağıdaki kodu bir modüle yapıştırınız.
C++:
Sub AUTO_OPEN()
    Application.Visible = False
    UserForm1.Show
    Application.Visible = True
End Sub
Sonra aşağıda bir kısmını yazdığım kodunuzın adını(ilk satırını) Private Sub Tam_Ekran() olarak değiştiriniz.
Kod:
Private Sub UserForm_Initialize() 'Userformun direk karşılaması için
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
Daha sonra sizin Private Sub UserForm_Initialize() adlı kodunuzdaki Dim ile başlayan satırın hemen altına şu satırı Call Tam_Ekran
ekleyiniz.
Üstadım çok teşekkür ederim. Tam istediğim gibi oldu. Verdiğiniz bilgiler çok değerli. Allah ne muradınız varsa versin. Selamlarımla.
 
Üst