userform açılışında textbox gösterimi

Costcost

Altın Üye
Katılım
3 Ekim 2018
Mesajlar
76
Excel Vers. ve Dili
Excel 2003-2007/2010
Altın Üyelik Bitiş Tarihi
03-12-2025
Merhabalar,
Userform üzerinde 100'e yakın textbox var. userform açıldığı zaman bunların hepsinin göstermek istiyorum. ancak textbox ölçüleri excel hücrelerinde. userform açıldığında textbox'ların excel hücresinde yer alan ölçülere göre (height, width, top..) userform üzerinde göstermek istiyorum. combobox'lı kod bulmuştum. ama, combobox kullanmadan nasıl yapılacağını bulamadım.

aşağıda kodun bir kısmı var. combobox olan kısımları sildim. diğer türlü nasıl yapabilirim acaba. combobox'sız yapılabilir mi? yardımcı olursanız sevinirim. şimdiden teşekkür ederim.

Private Sub UserForm_Initialize()
On Error Resume Next

Sheets("alfa").Activate
For b = 150 To 50 Step -1 ' 100 e yakın textbox var..
Controls("Textbox" & b).Visible = True
If Controls("Textbox" & b) <> "" Then
Controls("Textbox" & b).Visible = True

End If
Next b

For a = ????????
Sheets("alfa").Activate
Set j = Sheets("alfa").Range("C:C").Find(a)

'alfa sayfasından ölçüleri alıyor...

Controls("Textbox" & a).Visible = Sheets("alfa").Cells(j.Row, 11)
Controls("Textbox" & a).Top = Sheets("alfa").Cells(j.Row, 12)
Controls("Textbox" & a).Height = Sheets("alfa").Cells(j.Row, 13)
Controls("Textbox" & a).Width = Sheets("alfa").Cells(j.Row, 14)
Controls("Textbox" & a).Left = Sheets("alfa").Cells(j.Row, 15)
Controls("Textbox" & a).DragBehavior = 1
Controls("Textbox" & a).ControlTipText = Sheets("alfa").Cells(j.Row, 10)
Controls("Textbox" & a).MultiLine = True

Next a

End Sub
 
Katılım
5 Kasım 2006
Mesajlar
580
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
1 to 100 yazabilirsiniz.
Tabii Textboxların adları Texbox1,Textbox2... Textbox100 gibi olmalı.
Find(a) olayı garip:rolleyes:
 
Katılım
5 Kasım 2006
Mesajlar
580
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Dediğimi yaparsanız For b = 150 To 50 Step -1 burayıda For b = 1 To 100 yapabilirsiniz.
Tabii koda bakarak yazdım dosyayı görmeden.
 

Costcost

Altın Üye
Katılım
3 Ekim 2018
Mesajlar
76
Excel Vers. ve Dili
Excel 2003-2007/2010
Altın Üyelik Bitiş Tarihi
03-12-2025
Sayın Feraz, yorumunuz için teşekkür ederim.

textboxlar 50den (textbox50...51..) başlayıp 150ye kadar gidiyor. kodda eksik olan yerler var bu haliyle çalışmaz.

yapmak istediğim, userform üzerinde değişik ölçülerde, rasgele textboxlar var. bu kadar çok textboxları tek tek ölçülerini manuel ayarlamaktansa, (her biri farklı ölçülerde) bunu excelde satırlarda/sütunlarda yazılan ölçülerden almasını istemiştim. userform açıldığında, Alfa sayfasından ölçüleri alarak, textboxlar otomatik olarak oluşsun istemiştim. combobox ile yapabiliyorum. benim yapmak istediğim, combobox'a dokunmadan userform açıldığında textboxlar görünsün istemiştim. alternatif çözüm olarak, call combobox_change ile deniyorum, olmuyor. combobox'a tıklamadan nasıl çalıştırabiliriz? combobox'ta droplist'te 1 item var.


Alfa sayfasındaki ölçüler
Controls("Textbox" & a).Visible = Sheets("alfa").Cells(j.Row, 11)
Controls("Textbox" & a).Top = Sheets("alfa").Cells(j.Row, 12)
Controls("Textbox" & a).Height = Sheets("alfa").Cells(j.Row, 13)
Controls("Textbox" & a).Width = Sheets("alfa").Cells(j.Row, 14)
Controls("Textbox" & a).Left = Sheets("alfa").Cells(j.Row, 15)
Controls("Textbox" & a).DragBehavior = 1
Controls("Textbox" & a).ControlTipText = Sheets("alfa").Cells(j.Row, 10)
Controls("Textbox" & a).MultiLine = True

bu kodda bütün textboxları gösteriyor.
Dim q As Integer

For q = 0 To Controls.Count - 1
If Mid(Controls(q).Name, 1, 7) = "TextBox" Then
Controls(q).Visible = True
End If
Next q

iki kodu birbiriyle ilişkilendiremedim. belki yapabilen çıkar diye referans olarak koyuyorum. teşekkürler.
 
Katılım
5 Kasım 2006
Mesajlar
580
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Rica ederim.
Bence en iyisi geçek olmayan örnek bir dosya eklemeniz.
Tabii altın üye olmayanları düşünerek başka siteyede eklerseniz bakarız.
 
Katılım
5 Kasım 2006
Mesajlar
580
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Merhaba alttaki kodu deneyin.J sütununa true yada false yazın.

Kod:
Option Explicit

Private Sub UserForm_Initialize()

Dim a As Integer

With Sheets("Sayfa1")

For a = 1 To .Range(.Range("C2"), .Range("C2").End(xlDown)).Rows.Count

    Controls("Textbox" & a).Visible = .Cells(a + 1, 10).Value
    Controls("Textbox" & a).Top = .Cells(a + 1, 6).Value
    Controls("Textbox" & a).Height = .Cells(a + 1, 4).Value
    Controls("Textbox" & a).Width = .Cells(a + 1, 5).Value
    Controls("Textbox" & a).Left = .Cells(a + 1, 7).Value
    Controls("Textbox" & a).DragBehavior = 1
    Controls("Textbox" & a).ControlTipText = .Cells(a + 1, 9).Value
    Controls("Textbox" & a).MultiLine = True

Next
End With

a = Empty
End Sub
 

Costcost

Altın Üye
Katılım
3 Ekim 2018
Mesajlar
76
Excel Vers. ve Dili
Excel 2003-2007/2010
Altın Üyelik Bitiş Tarihi
03-12-2025
Feraz hocam, süper çalışıyor. elinize aklınıza sağlık. allah razı olsun sizden.
çok teşekkür ederim.
 
Katılım
5 Kasım 2006
Mesajlar
580
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Rica ederim üstadım.
Sizdende Allah razı olsun.
 
Üst