Listede seçilen sayfaya gitme

acebeci

Altın Üye
Katılım
25 Ağustos 2007
Mesajlar
326
Excel Vers. ve Dili
ofis excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2026
Değerli arkadaşlarım daha önce yine burada arkadaşların yazdığı alttaki kodla işlerimi hallediyordum. Şimdi sizlerden eğer mümkünse bir şey rica ediyorum.
1-Gitmek istediğim sayfayı TextBox a yazarken büyük küçük harf duyarlı olmasa(Küçük harfle yazınca tekrar silip yazmam gerekiyor)
2-Yanlış yazdığımda hepsini silmek zorunda kalıyorum bunda bir iyileştirme mümkün olur mu
3-En önemlisi de ListBox1 de listelenen isimlerin üzerinde ok yön tuşları ile gezinirken istediğim ismin üstüne geldiğimde ENTER Tuşu ile sayfaya gide bilir miyim?

Not: Bu kodlardan bağımsız başka bir KOD Ya da yöntem de tavsiye ederseniz o da olabilir

Eğer mümkün olurda yardımcı olabilirseniz çok sevinirim. Şimdiden hepinize çok teşekkür ederim

Private Sub CommandButton1_Click()
Sheets(ListBox1.Value).Select
End Sub
Private Sub CommandButton3_Click()
Unload Me
End Sub

Private Sub ListBox1_Click()
If ListBox1.ListCount = 0 Then Exit Sub
Sheets(ListBox1.Value).Select
Unload Me
End Sub
Private Sub TextBox1_Change()
Dim arrVeri()
Dim y As Long, i As Long, son As Long
y = 0
Set sh = Sheets("liste")
On Error Resume Next
If TextBox1 <> Empty Then
For i = 0 To ListBox1.ListCount - 1
If InStr(1, ListBox1.List(i), UCase(TextBox1)) > 0 Then
ReDim Preserve arrVeri(y)
arrVeri(y) = ListBox1.List(i)
y = y + 1
End If
Next i
ListBox1.Clear
ListBox1.List = arrVeri
Else
ListBox1.Clear
son = sh.Cells(65536, 2).End(xlUp).Row
For i = 3 To son
ListBox1.AddItem sh.Cells(i, 2)
Next i
End If
Set sh = Nothing
End Sub

Private Sub UserForm_Initialize()
Dim arrVeri()
Dim y As Long, i As Long, son As Long
y = 0
Set sh = Sheets("liste")
On Error Resume Next
If TextBox1 <> Empty Then
For i = 0 To ListBox1.ListCount - 1
If InStr(1, ListBox1.List(i), UCase(TextBox1)) > 0 Then
ReDim Preserve arrVeri(y)
arrVeri(y) = ListBox1.List(i)
y = y + 1
End If
Next i
ListBox1.Clear
ListBox1.List = arrVeri
Else
ListBox1.Clear
son = sh.Cells(65536, 2).End(xlUp).Row
For i = 3 To son
ListBox1.AddItem sh.Cells(i, 2)
Next i
End If
Set sh = Nothing
End Sub
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,182
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Manuel sayfa adı yazmak yerine açılır listeden seçin.
Eki deneyin.
İyi çalışmalar
 

Ekli dosyalar

acebeci

Altın Üye
Katılım
25 Ağustos 2007
Mesajlar
326
Excel Vers. ve Dili
ofis excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2026
Merhaba;
Manuel sayfa adı yazmak yerine açılır listeden seçin.
Eki deneyin.
İyi çalışmalar
Sayın muygun ilginizden dolayı gerçekten çok teşekkür ederim. Gönderdiğiniz ekli dosyadaki kodlarla denedim ama çok sıhhatli bir şekilde çalıştıramadım.

Acaba başka bir yöntem denemek mümkün mü?
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,182
Excel Vers. ve Dili
Excel-2003 Türkçe
Kodlar gayet basit. (sıhhatli çalışmamasını anlamadım.)
-Userform açılışta dosyadaki sayfaları bir döngü ile ComboBox1'e alıyor.
-ComboBox1_Change ile de seçilen sayfaya geçiyor.
Bu yöntem ile sayfa adını yanlış yazma ihtimaliniz yok.
Başka bir yöntem önerisi olan bir arkadaş varsa katkıda bulunacaktır.
İyi çalışmalar.
 

acebeci

Altın Üye
Katılım
25 Ağustos 2007
Mesajlar
326
Excel Vers. ve Dili
ofis excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2026
Kodlar gayet basit. (sıhhatli çalışmamasını anlamadım.)
-Userform açılışta dosyadaki sayfaları bir döngü ile ComboBox1'e alıyor.
-ComboBox1_Change ile de seçilen sayfaya geçiyor.
Bu yöntem ile sayfa adını yanlış yazma ihtimaliniz yok.
Başka bir yöntem önerisi olan bir arkadaş varsa katkıda bulunacaktır.
İyi çalışmalar.
Sayın muygun son derece haklısınız tek sorun ben konuya çok yabancı olduğum için tam olarak beceremedim yoksa kodlarda sorun yok. İlginizden dolayı gerçekten çok teşekkür ederim.
 
Üst