Hücrelerden TextBoxlara Veri Aktarma

Katılım
29 Şubat 2016
Mesajlar
7
Excel Vers. ve Dili
2016 Türkçe
Sayın Hocalarım;
TextBox ile ilgili bu sitede ve diğer belli başlı sitelerde olanları didik didik ettim. Soracağım şeyle daha doğrusu sorunumla benzer çok şey var ama hiçbirini uyarlayamadım. Sonuçta yazmak zorunda kaldım. İçinden çıkamadığım bir döngü durumu var. Şimdi çalışmamdaki olanı aynen yazıyorumki gelebilecek yardımlarda tekrar uyarlamak gibi bir sıkıntı çıkmasın. İster inanın ister inanmayın tam iki gündür iki satır kod ile uğraşıp duruyorum(siz beceriksizlik de diyebilirsiniz).

Sayfa adı: 5444_TBF, ilgili hücreler: A3:A30
Şimdi:
UserForm üzerinde 140 adet TextBox var. Bunlar, grup grup ilgili sayfadan veri gösterecekler.
İstediğim yardım şu:
TextBox85 den TextBox112 ye kadar sıralı olanlarda, 5444_TBF adlı sayfanın A3:A30 arasındaki veriler görünecek(Formun Initialize olayında). Daha açıkçası: TextBox85=A3'ü, TextBox86=A4'ü........ve son TextBox112=A30'u gösterecek. Bunu döngü ile yapmak istiyorum. Sıralı adlarına göre TextBoxları buluyorum ama sayfadaki A3:A30 arasındaki değerleri bir türlü bulupta textBoxlara yazdıramıyorum. Bu nedenle yardıma ihtiyacım var. Teşekkür ediyor, herkese hayırlı geceler diliyorum.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Buyurun.:cool:
Kod:
For i = 85 To 112
    Me.Controls("Textbox" & i).Value = Range("A" & i - 82).Value
Next i
 
Katılım
29 Şubat 2016
Mesajlar
7
Excel Vers. ve Dili
2016 Türkçe
Hocam, çok çok teşekkürler. Tıkır tıkır çalışıyor. Başka bir değerli hocam da yardım etti, o da çalıştı ancak sizin bu kodunuz çok kısa, çok süper(diğeri 6 satırlık bir kod). Bu küçük ama değeri çok büyük olan "kodunuz" çok kişiye merhem olacaktır. Çünkü durumun tersine olanına çözüm çok ama bu sorunun çözülmüş olanına rastlayamadım. Elleriniz dert görmesin. Tekrar teşekkür ediyorum. İyi geceler sayın Hocam...
 
Katılım
29 Şubat 2016
Mesajlar
7
Excel Vers. ve Dili
2016 Türkçe
Kod:
For i = 85 To 112
    Me.Controls("Textbox" & i).Value = Range("A" & i - 82).Value
Next i
Değerli Hocam, sevincim kursağımda kaldı. Şimdi de hücrelerden gelen tarih verileri TextBox larda hatalı görünüyor. Kısacası günler ile ayla yer değiştiriyor. Örneğin: hücrede 31.03.2016 ola tarih, gösterildiği TextBox da 03.31.2016 veya 3/1/2016 vb garip tarihler görünüyor.
Velhasıl İmdat! Hocam...
 
Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Şöyle bir deneyiniz.

For i = 85 To 112
Me.Controls("Textbox" & i).Value = Format(Range("A" & i - 82).Value,"dd.mm.yyyy")
Next i
 
Katılım
29 Şubat 2016
Mesajlar
7
Excel Vers. ve Dili
2016 Türkçe
Kod:
For i = 85 To 112
Me.Controls("Textbox" & i).Value = Format(Range("A" & i - 82).Value,"dd.mm.yyyy")
Next i
Ey güzel insan! Ne diyeyim gecenin bu vaktinde? Nasıl teşekkür edeyim? Şimdi denedim, sonuç:Mükemmel, harika. Sağol, varol. Allah, bilgini, erdemini artırsın. Ellerin dert görmesin. Çok çok teşekkürler. Sayende uyuyabilirim artık. Hayırlı geceler, saygılar, sevgiler...
 
Katılım
29 Şubat 2016
Mesajlar
7
Excel Vers. ve Dili
2016 Türkçe
Kod:
For i = 85 To 112
Me.Controls("Textbox" & i).Value = Format(Range("A" & i - 82).Value,"dd.mm.yyyy")
Next i
Hocam, dosyamı çok değerli yardımlarınızla tamamladım. Bugün bir öğrencim incelerken bir şey söyledi. Düşündüm, "doğru, eğer olursa güzel olur" dedim. Olmasa da olur ama dosyayı kullanacak öğrencilerin bu isteği yerine gelse şık olur yani. Hem de beni bir şeyler biliyor diye bellerler :)
Konu şu:
Dosya aynı. Yani "5444_TBF" sayfası ve "Syf5444_TBF" formu. Sayfadaki C3:C30 da sadece 4 grup isimleri var.Bu grup isimleri değişmiyor(bunlar: "A - Grubu" , "B - Grubu", "C - Grubu", "D - Grubu")
Yukarıda verdiğiniz kodları bu sütuna uyarladım. TextBox'lara geliyorlar. Sorun yok(TextBox28 den TextBox57 ye taşınıyorlar). Delikanlının istediği, bu grup isimleri TextBox'lara gelince, ilgili satırlarda kolayca dikkat çekmeleri için renklerinin (BackColor) farklı olması. Yani "A - Grubu" olanlar siyah, "B - Grubu" olanlar mavi vb. Ben de daha sade olsun diye istenince renklensinler dedim. Daha iyi olur dediler. Şimdi:
4 tane OptionButton koydum. A Grubunu renklendir, B Grubunu renklendir, C Gru....... başlıkları yazdım.
TextBox lara taşınmış olan Grup sütunu duruyor. Kullanan, hangi grubu renklendirmek istiyorsa sadece o değeri taşıyan TextBox'ların arkaplan rengi siyah olsun. Örneğin: A Grubunu Renklendir tıklandığında sadece "A - Grubu" yazılı olan kutular siyah olsun. B'yi tıklarsa "B - Grubu" yazılı olan kutular siyah olsun. C'yi isterse c ler, D'yi tıklarsa D'ler. Tabii her değişik grup tıklandığında bir önceki tıklanmış olanın da eski rengine dönmesi gerek. Yani her tıklana siyah olarak kalırsa bir anlamı olmaz.
Böyle yapabilme imkanı varsa ve sizi fazla rahatsız etmeyecekse bu ilk tercihim. Yok eğer olmuyorsa bunlar taşınırken farklı renklerle olsunlar. Hep öyle görünsünler.
Bu arada bana "kutuların BackColor renklerini tasarımdayken değişik yapın" demek aklınıza gelebilir. Ancak bu kutu değerleri sayfadan geliyorlar. Sayfada da bunlar değişik sıralarda olabiliyorlar. Yani sıraları sabit değil. Veya şöylede olabilir: Taşındıkları hücrenin arka plan renginide alabilirlerse bu da olur. Sayfada "koşullu biçimlendirmeyle" zaten renklendirmişiz.
Biraz uzun oldu, hoşgörün lütfen.
Teşekkür ediyor hayırlı geceler diliyorum.
 
Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Merhabalar, uzun uzun güzelce açıklama yapmışsınız ama dosyanızı göremediğimiz için anlattıklarınız kısmen havada kalıyor. Şöyle ki siz A Grubunu Renklendir'i seçtiğinizde hangi textboxların rengi siyah olacak. Yani textbox isimleri (veya sıraları) nedir ?

En iyisi ben bir örnek ekleyeyim, siz kendinize uyarlamaya çalışın.

Link = http://www.dosya.tc/server7/lvg284/Ornek.rar.html
 
Katılım
29 Şubat 2016
Mesajlar
7
Excel Vers. ve Dili
2016 Türkçe
Hocam, haklısınız. Durumu hoş görünüze havale ediyor yardım istediğim dosyayla ilgili sayfa ve form örneğini ekliyorum. Çok teşekkür ediyorum.
Örnekle çok uğraştım, sabah oldu. Size dönerek rahasız etmek zorunda kaldım.
Teşekkür ediyorum.

Link = http://s6.dosya.tc/server6/wzj26t/Ornek.rar.html
 
Katılım
29 Şubat 2016
Mesajlar
7
Excel Vers. ve Dili
2016 Türkçe
Nihayet başardım Hocam. Sabah yeter artık derken bırakamadım. Örnek dosyanızdaki kodları karıştıra karıştıra, ekleye çıkara derken yakaladım. Tam istediğim gibi çalışıyor nihayet.
Yardımcı olan, ilgilenen herkese teşekkür ediyorum.
Kodları aşağıya ekledim. Benzer çalışması olanlara bir faydamız olur ümidiyle. İsteyen arkadaşlar, linkte verdiğim dosyaya bu kodları ekler ve çalıştırırlar ise derdimi ve muradımı anlarlar.
Tek farkı, kodlarda Controls için kullanılan "gb" yerine "TextBox" yazılması gerek. Çünkü ben tasarımdaki UserForm üzerinde TextBox'ların adını "gb" olarak değiştirmiştim.
Saygılarımla...

Kod:
Private Sub OptionButton1_Click()
    For r = 3 To 30
        Me.Controls("gb" & r).BackColor = &H80&
     Next r
        
        If OptionButton1 = True Then
    For r = 3 To 30
        If Controls("gb" & r).Text = "A - Grubu" Then
        Me.Controls("gb" & r).BackColor = &H0&
    End If
        Next r
End If
End Sub

Private Sub OptionButton2_Click()
    For r = 3 To 30
        Me.Controls("gb" & r).BackColor = &H80&
     Next r
        
        If OptionButton2 = True Then
    For r = 3 To 30
        If Controls("gb" & r).Text = "B - Grubu" Then
        Me.Controls("gb" & r).BackColor = &H0&
    End If
        Next r
End If
End Sub

Private Sub OptionButton3_Click()
    For r = 3 To 30
        Me.Controls("gb" & r).BackColor = &H80&
     Next r
        
        If OptionButton3 = True Then
    For r = 3 To 30
        If Controls("gb" & r).Text = "C - Grubu" Then
        Me.Controls("gb" & r).BackColor = &H0&
    End If
        Next r
End If
End Sub

Private Sub OptionButton4_Click()
    For r = 3 To 30
        Me.Controls("gb" & r).BackColor = &H80&
     Next r
        
        If OptionButton4 = True Then
    For r = 3 To 30
        If Controls("gb" & r).Text = "D - Grubu" Then
        Me.Controls("gb" & r).BackColor = &H0&
    End If
        Next r
End If
End Sub

Private Sub OptionButton5_Click()
    For r = 3 To 30
        Controls("gb" & r).BackColor = &H80&
     Next r
End Sub
 
Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Sizi tebrik ederim.

Bu azimle (eğer ilerletmek isterseniz) kodları çok daha hızlı bir şekilde öğreneceğinize inanıyorum. Forumda "Kod Arşiv Programı" isimli bir dosya olması lazım. Sayın Mahmut Bayram'ın özverili bir çalışmasıdır. Dosya içinde 3500 kadar kodlama verilmiştir. Bu güzel çalışmayı incelemenizi tavsiye ederim. Size ciddi manada ışık tutacak kodlar bulacağınıza eminim.

Bu vesile ile çalışmalarınızda başarılar ve kolaylıklar dilerim...

Sağlıcakla...
 
Üst