Soru userform büyüklüğü hakkında

umitumit

Altın Üye
Katılım
5 Eylül 2006
Mesajlar
364
Excel Vers. ve Dili
Excel 2016
Türkçe
Altın Üyelik Bitiş Tarihi
13-07-2028
Private Sub CommandButton1_Click()

Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim ctrlTop As Integer

' "LİSTE" sayfasını ayarla
Set ws = ThisWorkbook.Sheets("LİSTE") ' Sayfa adını değiştirin

' İlk dolu hücrenin bulunduğu satırı belirle (N sütunu kullanılarak)
lastRow = ws.Cells(ws.Rows.Count, "N").End(xlUp).Row

' UserForm üzerindeki kontrollerin başlangıç yüksekliği
ctrlTop = 25

' Satırları UserForm'a ekle
For i = 6 To lastRow
' TextBox'leri oluştur ve değerlerini ata
UserForm1.Controls.Add "Forms.TextBox.1", "txtBoxN" & i
With UserForm1.Controls("txtBoxN" & i)
.Left = 10
.Top = ctrlTop
.Width = 100
.Height = 18
.Text = ws.Cells(i, "N").Value ' N sütunundaki değeri alır
End With

UserForm1.Controls.Add "Forms.TextBox.1", "txtBoxO" & i
With UserForm1.Controls("txtBoxO" & i)
.Left = 120
.Top = ctrlTop
.Width = 100
.Height = 18
.Text = ws.Cells(i, "O").Value ' O sütunundaki değeri alır
End With

UserForm1.Controls.Add "Forms.TextBox.1", "txtBoxP" & i
With UserForm1.Controls("txtBoxP" & i)
.Left = 230
.Top = ctrlTop
.Width = 600
.Height = 18
.Text = ws.Cells(i, "P").Value ' P sütunundaki değeri alır
End With

' CheckBox'leri oluştur
UserForm1.Controls.Add "Forms.CheckBox.1", "chkBox" & i
With UserForm1.Controls("chkBox" & i)
.Left = 840
.Top = ctrlTop
.Width = 20
.Height = 18
End With

' CheckBox'in yanındaki satır için yükseklik artışı
ctrlTop = ctrlTop + 20
Next i

End Sub


Böyle bir makro ile sayfanın birinden (LİSTE) textbox lara veri getiriyorum. (Chatgpt yazdı makroyu)
Ancak userform aşağı doğru sayfaya sığmayacak şekilde uzuyor.

ScrollBars özelliğini 3 - fmScrollBarsBoth yaptım ama altta kalan verilere ulaşamıyorum. (Chatgpt nin fikriydi)

Yapılabilecek başla bir şey var mı?
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,459
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Userform üzerine multipage ekleyin ve textboxlar ile checkboxları farklı sayfalara dagıtacak şekilde uyarlayın, bu şekilde aynı ekranda cok fazla alan elde etmiş olacağınızdan cok daha geniş ekran alanı elde etmiş olursunuz ve sayfa aşağı uzamaz. İsterseniz userform_intialize içine dosyayı tam ekran açma kodu atarsanız verim yğzdesi yükselmiş olur.
Tabii bunu elle dizayn etmeniz gerekir chatgpt sadece onerir ama oldusuna olmadısına sorun devam edebilir
 

umitumit

Altın Üye
Katılım
5 Eylül 2006
Mesajlar
364
Excel Vers. ve Dili
Excel 2016
Türkçe
Altın Üyelik Bitiş Tarihi
13-07-2028
Sayın cems,

Cevabınız için teşekkür ederim ancak bu söylediklerinizi nasıl yapacağımı bilmiyorum.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,459
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Dosyanızda özel veri yoksa siteye yüklerseniz inceleme şansı olur


Tam Ekran kodları (Sayın @Haluk 'a ait )

Bunu multipage değil bu aracı üstüne yüklediğiniz userform kod bolumune yapıştırın



Private Sub UserForm_Initialize()

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

' diğer açılışta yüklenmesini istediğiniz kodlar mesela textboxların formatlanarak açılması için buraya yazın


End sub
 
Son düzenleme:

umitumit

Altın Üye
Katılım
5 Eylül 2006
Mesajlar
364
Excel Vers. ve Dili
Excel 2016
Türkçe
Altın Üyelik Bitiş Tarihi
13-07-2028
Sayın cems,

Bu kodlar ile userform um ekranım kadar büyüdü ancak hala userform a alamadığı veri var.
25 satır veri getirdi.örnek1.png
Ancak benim 31 satır verim var. éTaner bey" in altında daha 6 satırım olmalı ama göremiyorum.
Satırları daralttığımda yazılar iç içe giriyor.

Yapmak istediğim şey, her hafta cuma sabahı bu listeyi sayfadan çekmek, mesaj gitmesini istediğim kişilerin en sağındaki checkbox ları işaretlemek ve whatsapp tan otomatik göndermek.

Teşekkürler
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,459
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Çok karışık bir talebiniz var ve elde de bir resim varken ne yapılabilir ? Verdiğim youtube den ornekleyerek multipage ekleyip araçları bir kaç sayfaya dağıtmanız ve temel olan userformu da @Haluk bey'e ait kodlarla ekran boyutuna getirmeniz ilk aşamanız olacaktır. Ya da userform dizaynını aşağı doğru çekerseniz de formun scroll ozelliği çalışacaktır
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Alternatif olarak verileri userform üzerinde ListBox nesnesi üzerinde listeleyebilirsiniz. Yönetmesi sizin açınızdan daha kolay olacaktır. Forumda da bolca örnek var..
 

umitumit

Altın Üye
Katılım
5 Eylül 2006
Mesajlar
364
Excel Vers. ve Dili
Excel 2016
Türkçe
Altın Üyelik Bitiş Tarihi
13-07-2028
Örnek dosya ektedir.
Buraya kadar gelebildim.
 

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
Userformun scrollbars özelliğini aktif etmeniz yetmez. Ayrıca eklediğiniz nesnelerin sayısına göre scrollheight özelliğine de bir değer atamanız gerekir. Bunun için kodlarınız içindeki ctrlTop değişkenindeki değeri kullanabilirsiniz. Örneğin;

me.scrollheight=ctrlTop+10
 
Üst