• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

listbox indeksindeki rakamları çekmek

Katılım
2 Nisan 2011
Mesajlar
162
Excel Vers. ve Dili
office 2007 tr
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

  • Adsız.png
    Adsız.png
    17.8 KB · Görüntüleme: 8
Son düzenleme:
Ö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
 
"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") "
 
"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

  • Adsız.png
    Adsız.png
    31.8 KB · Görüntüleme: 2
"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
 
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)
 
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)

sayın systran kodlarınız sorunumu çözdü çok teşekkür ederim
 
Geri
Üst