listbox indeksindeki rakamları çekmek

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
110
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
merhaba listbox indeksinde bulunan evrak no yu diğer bir userformun rowsourcesine nasıl yazdırabilirim. resimdeki alana tıklayınca bu userform kapanacak diğeri açılacak açılan userformun listboxu resimdeki rakamı rowsource ile açacak

resimdeki carihareket userformundaki listbox un indeksindeki 10002 e tıkladığımda kaydiaç.ListBox1.RowSource = "10002!a2:AW20" listboxdaki rowsourcesine yazdırsın sadece "10002" değişken olacak diğeri kalacak
 

Ekli dosyalar

Son düzenleme:

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
110
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
Örnek çalışmayı inceleyiniz. Kendinize göre uyarlayınız.
hocam öncelikle emeğinize sağlık lakin şöyleki bir eksiklik var sanırım
Set rng = Sayfa1.Range("a2:AW20")
bu kod işleri bozuyor çünkü benim excelimde sayfalar değişkenli yani çektiği ID no adında bir sayfam varsa başka ID noları ilede sayfalarım var hal böyle olunca buraya sayfa adını girmek gerekiyor ki malum sayfadaki verileri çeksin. dolayısıyla bu yüzden bu ID yi userform2.ListBox1.RowSource = "SATİS!a2:AW20" satis yazan yere kopyalaması gerekiyor
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
"Set rng = Sayfa1.Range("a2:AW20") "
Eğer yanlış anlamadıysam, bu bölümü aşağıdaki gibi değiştirirseniz sorun çözülebilir.
"Set rng = ActiveSheet.Range("a2:AW20") "
 

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
110
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
"Set rng = Sayfa1.Range("a2:AW20") "
Eğer yanlış anlamadıysam, bu bölümü aşağıdaki gibi değiştirirseniz sorun çözülebilir.
"Set rng = ActiveSheet.Range("a2:AW20") "
hocam denemedim ama mantığını anlayamadım bunun activesheet aktif sayfa demek bende o an o sayfa aktif olmayabilirki şöyle olsa çift tıklayınca indeksdeki 10001 in sayfasını seçse amenna da bu şekilde çözüleceğini sanmıyorum aktif sayfa ama hangi aktif sayfa? böyle bir durum var yani resmi incelerseniz daha iyi anlayabilirsiniz beni
 

Ekli dosyalar

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
110
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
"Set rng = Sayfa1.Range("a2:AW20") "
Eğer yanlış anlamadıysam, bu bölümü aşağıdaki gibi değiştirirseniz sorun çözülebilir.
"Set rng = ActiveSheet.Range("a2:AW20") "
Selection.EntireRow.Select
selectedID = Me.ListBox1.List(ListBox1.ListIndex, 4)
MsgBox "ID kopyalandı=" & selectedID

'UserForm2 'yi aç ve ID'yi geçir
Load kaydiaç
kaydiaç.Tag = selectedID ' Tag özelliğiyle ID'yi taşıyoruz


' Bu formu kapat
Unload Me
kaydiaç.Show

Application.Goto Sheets("selectedID").Range("a2")

buraya birşey düşünebilirmisin hocam selectedID sayfasını seç gibi
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,649
Excel Vers. ve Dili
2021 PRO [TR]
Demek istediğinizi anladım galiba sizin 10001 10002 ... .... ... isimli sayfalarınız var ve tıklanan evrak numarsına göre bu sayfa açılsın istiyorsunuz.
kaydıaç formunun Activate olayına aşağıdaki kodları yazıp deneyin. Ayrıca form isimlendirmeleriniz çok karışık geldi bana.
Kod:
MsgBox "Gelen ID=" & Me.Tag
Set rng = Worksheets(Me.Tag).Range("a2:AW20")
ListBox1.ColumnHeads = True
ListBox1.ColumnCount = rng.Columns.Count
ListBox1.RowSource = rng.Address(External:=True)
 
Üst