• DİKKAT

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

USERFORMUN DİREK AÇILMASI

aliadanur

Altın Üye
Katılım
28 Ekim 2020
Mesajlar
70
Excel Vers. ve Dili
Excel 2007
Ü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
 
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.
 
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.
 
Geri
Üst