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
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