Skip to main content

#EvdeKal


Listbox İle İlgili Sayfaya Gitmek

Listbox İle İlgili Sayfaya Gitmek

Çözüldü #1
Tekrar merhaba,

Sürekli sorular sorup sizleri yoruyorum ama yapmaya çalıştığım excelde sona geldim. Son bir iki sorum olacak. Yardımlarınızdan ötürü şimdiden teşekkür ederim.

Bir form oluşturdum. Bu formda 2 adet listbox bulunmakta. Birincisinde bütün sayfaları sıralandırdım. Ve çift tıklama ile ilgili sayfaya yönlendirmeyi başardım. İkinci formda ise başka bir sayfa bulunan listemi gösterebildim.

Karşılaştığım ve aşmak istediğim sorunlar şunlar:

1- İkinci forma listeden aldığım bilgiler verdiğim aralığı alıyor fakat istediğim son satırda bitmesi. Çünkü listede boş satırlarda görünmekte ve bu listeyi çok uzun tutmakta.

2- Örnek dosyaya bakarsanız sayfa adlarını ikinci listemde bulunan birinci sutundaki kodlara göre açtım. Bu şekilde yapmak istediğim, eğer o koddaki ürünün sayfası varsa birinci listede bulsun ve hatta o sayfaya gitsin. Eğer sayfa yoksa sayfa bulunamadı gibi bir uyarı verebilir.

3- Listboxların üstüne textbox koydum ki istediğim zaman aratma yapabileyim ama bunuda aktif bir hale getiremedim. Acaba text.box a göre arama yı nasıl sağlayabilirim.

4- Son olarak bu listelerde mouse scroll kullanılmıyor. Yani aşağı indirmek için listeyi yan çubuğu kullanmak zorunda kalıyorum. Acaba scroll ile aşağı yukarı listeyi nasıl hareket ettirebilirim.

Şimdiden teşekkürler.
.rar Örnek.rar (Dosya Boyutu: 35,2 KB | İndirme Sayısı: 3)
Alıntı:Her şey bir fikirle başlar.
Son Düzenleme: 13/06/2019, 13:49, Düzenleyen: nightashes.
Cevapla
#2
(13/06/2019 13:33)nightashes Adlı Kullanıcıdan Alıntı: 2- Örnek dosyaya bakarsanız...
örnek çalışmanız eklenmemiş görünüyor.
excelde son satır kodu;

Visual Basic Code
Dim SonSatir As Long
    SonSatir = Cells(Rows.Count, 1).End(xlUp).Row

Cevapla
#3
(13/06/2019 13:38)haliliyas Adlı Kullanıcıdan Alıntı:
(13/06/2019 13:33)nightashes Adlı Kullanıcıdan Alıntı: 2- Örnek dosyaya bakarsanız...
örnek çalışmanız eklenmemiş görünüyor.
excelde son satır kodu;

Visual Basic Code
Dim SonSatir As Long
    SonSatir = Cells(Rows.Count, 1).End(xlUp).Row


Ekledim sanırım.
Alıntı:Her şey bir fikirle başlar.
Cevapla
#4
(13/06/2019 13:33)nightashes Adlı Kullanıcıdan Alıntı: 1- İkinci forma listeden aldığım bilgiler verdiğim aralığı alıyor fakat istediğim son satırda bitmesi. Çünkü listede boş satırlarda görünmekte ve bu listeyi çok uzun tutmakta.
1. sorunuza cevap aşağıdaki kodu dener misiniz?

Visual Basic Code
Private Sub UserForm_Initialize()
Dim sayfa As Worksheet
Dim SonSatir As Long
    SonSatir = Worksheets("Liste-Maliyet").Cells(4, 3).End(xlDown).Row
ListBox1.Clear
ListBox1.ColumnCount = 1
ListBox1.ColumnWidths = "50"
For Each sayfa In Worksheets
ListBox1.AddItem sayfa.Name
Next
With ListBox2
    Do While .ListCount > 0
      .RemoveItem 0
    Loop
  End With

ListBox2.List = Worksheets("Liste-Maliyet").Range("B4:C" & SonSatir).Value
End Sub

Cevapla
#5
2. sorunuzu biraz daha açıklar mısınız? hangi form, hangi liste kutusu hangi sayfa isimleriyle yazar mısınız?
Cevapla
#6
Halil bey ilk soruma vermiş olduğunuz cevap harika bir şekilde işe yaramakta. Teşekkür ederim.

(13/06/2019 14:30)haliliyas Adlı Kullanıcıdan Alıntı: 2. sorunuzu biraz daha açıklar mısınız? hangi form, hangi liste kutusu hangi sayfa isimleriyle yazar mısınız?

Bu soruyu açacak olursam :
Aşağıda sayfa isimlerine dikkat ederseniz hepsi listemdeki ürün kodlamasına göre açıldı.
Yani bir ürün kodu 010211 ise aşağıda ona göre sayfa kodu ile açılmakta.
Liste 2 de demin bana vermiş olduğunuz kodun listesinde yani çift tıkladığım zaman o sayfa gitsin istiyorum.
Tabi sayfa varsa yoksa Sayfa yok bulunamadı felan yazabilir.
Ben böyle mümkün olur olmaz bilemediğim için birinci listeye gitsin diye yazmıştım. Ama eğer liste2 den direk gidebilirsem ne ala.
Alıntı:Her şey bir fikirle başlar.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da