textbox[i].value=... excel vba da nasıl yapılır

Kodla Büyü

sertokus

Süper Üye
Süper Üye
Mesajlar
2,350

Arkadaşlar resimdeki kodu yapmak istiyorum.
Ama hata veriyor
Yardımcı olur musunuz. Textbox un içindeki i değerini kabul etmiyor
Parantez şeklinde kullanımı mı yanlış. Köşeli parantez de denedim i iyi yine hata veriyor.

sil vba 2.jpg
winsnap-1.jpg
 
Son düzenleme:
Activex denetimlerini kullanın buton ve textbox eklerken. Daha sonra butona tıklayarak kod yazın. Fonksiyon hatası veriyor tanımlanmamış. Kodlarınızı fonksiyon içine yazın. İkincisi
girinti yapın for döngüsü için.
 
Kaç tane textbox var sayfanda. Sanki yerleri değişecek gibi geldi bana.
 
Activex denetimlerini kullanın buton ve textbox eklerken. Daha sonra butona tıklayarak kod yazın. Fonksiyon hatası veriyor tanımlanmamış. Kodlarınızı fonksiyon içine yazın. İkincisi
girinti yapın for döngüsü için.
Hocam kodlarım fonksiyon içinde aslında. Sub ve end sub arasında yer alıyor. Çok fazla kod olduğu için böyle resmini çektim. Hiç activex ile kullanmamıştım hocam. Bir deneyeyim.

Edit: Hocam ben userformlar, Command butonlar ile çalışıyorum. Bu durumda activex ekipmanlarını kullanmış oluyor muyum?

sil vba 2.jpg
 
Son düzenleme:
VBA'da bahsettiğiniz tarzda bir kullanım yok sanırsam. Ancak Controls koleksiyonunu kullanabilirsiniz.
bir düğmenin click olayına
for i = 0 to 10
msgbox Controls(2).Name + " " + i
next if
yazıp, düğmeye tıklayın. size form üzerindeki kontrollerin isimlerini ve index değerlerini verecektir. Eğer Textbox'ları ardı ardına eklediyseniz bu index numaraları ardışık olacaktır. Diyelim ki birinci textbox'ın index değeri 5, sonuncunun index değeri 20 olsun. Bu durumda
for i = 5 to 20
Controls(i).Text = Worksheets(kunye).Cells(satir, i).Value
next i
kodunu kullanarak istediğiniz sonuca ulaşabilirsiniz.
 
Activex denetimlerini kullanın buton ve textbox eklerken. Daha sonra butona tıklayarak kod yazın. Fonksiyon hatası veriyor tanımlanmamış. Kodlarınızı fonksiyon içine yazın. İkincisi
girinti yapın for döngüsü için.
VBA 'da girinti çıkıntının bir anlamı yok. Hata mesajında TextBox adında bir fonksiyon yok diyor. Yani ifadeyi bir fonksiyon çağırılıyor olarak algılıyor.
 
Tam olarak ne yapmayı planladığınızı söylerseniz belki daha yardımcı olabiliriz hocam.
 
Son düzenleme:
VBA'da bahsettiğiniz tarzda bir kullanım yok sanırsam. Ancak Controls koleksiyonunu kullanabilirsiniz.
bir düğmenin click olayına
for i = 0 to 10
msgbox Controls(2).Name + " " + i
next if
yazıp, düğmeye tıklayın. size form üzerindeki kontrollerin isimlerini ve index değerlerini verecektir. Eğer Textbox'ları ardı ardına eklediyseniz bu index numaraları ardışık olacaktır. Diyelim ki birinci textbox'ın index değeri 5, sonuncunun index değeri 20 olsun. Bu durumda
for i = 5 to 20
Controls(i).Text = Worksheets(kunye).Cells(satir, i).Value
next i
kodunu kullanarak istediğiniz sonuca ulaşabilirsiniz.
Controls("TextBox" & i).Value = Worksheets(kunye).Cells(satir, i).Value
cevabınıza istinaden araştırma yaparak bu şekilde çalıştı. Çok teşekkür ederim.
 
Geri
Üst