Sayfaya gitmek için değişik bir kod

Katılım
22 Kasım 2005
Mesajlar
174
Yaklaşık 300 sayfalık bir teknik resim kataloğu hazırladım. Her resmi bir sekmeye yani sayfaya ekledim. Forumdaki mevcut kodlardan bazılarını bende kullanıyorum fakat 300 sayfada biraz etkisiz kalıyor. Düşüncem şu ben açılan bir kutuya sayfa adını yada adın bir kısmını yazsam yakın sayfalar listelense seçtiğim sayfaya gitmek mümkünmü? Mesela kod bankası programı gibi. İlgilenen arkadaşlara şimdiden teşekkür ederim.
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Yanıt

Kod:
Private Sub ListBox1_Click()
Sheets(ListBox1.Text).Select
End Sub
Private Sub TextBox1_Change()
Dim sat, s As Integer
ListBox1.Clear
ListBox1.ColumnCount = 1
For sat = 2 To Cells(65536, "a").End(xlUp).Row
DEG = UCase(Replace(Replace(Cells(sat, "A"), "i", "İ"), "ı", "I"))
DEGT = UCase(Replace(Replace(TextBox1, "i", "İ"), "ı", "I"))
If DEG Like "*" & DEGT & "*" Then
ListBox1.AddItem
ListBox1.List(s, 0) = Cells(sat, "a")
s = s + 1
End If: Next
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer
Dim s As Byte
[a2:a300].Clear
s = 2
For i = 1 To Sheets.Count
Cells(s, "a") = Sheets(i).Name
s = s + 1
Next
'*****
TextBox1 = "."
TextBox1 = ""
End Sub
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,736
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Alternatif olarak ekteki örnek dosyayı incelermisiniz.

Kullanılan kodlar;


Userformu açmak için;

Kod:
Option Explicit
 
Sub FORM()
    UserForm1.Show 0
End Sub

Userform üzerindeki işlemler için;

Kod:
Option Explicit
 
Dim SAYFA As Worksheet
 
Private Sub ListBox1_Click()
    Sheets(ListBox1.Text).Select
End Sub
 
Private Sub TextBox1_Change()
    If TextBox1 <> Empty Then
    ListBox1.Clear
    For Each SAYFA In Worksheets
    If Evaluate("=UPPER(""" & SAYFA.Name & """)") Like "*" & Evaluate("=UPPER(""" & TextBox1 & """)") & "*" Then
    ListBox1.AddItem SAYFA.Name
    End If
    Next
    Else
    ListBox1.Clear
    End If
End Sub
 
Private Sub UserForm_Initialize()
    Me.Caption = "SAYFALAR"
    For Each SAYFA In Worksheets
    ListBox1.AddItem SAYFA.Name
    Next
End Sub
 

Ekli dosyalar

Son düzenleme:
Katılım
22 Kasım 2005
Mesajlar
174
İki seçenekte çalışıyor.

Çok güzel. Korhan beyin çalışması daha sade ve işlevsel görünüyor. Ziya beyin çalışmasıda güzel ve iş görüyor. Her iki ustayada teşekkür edrim.
 
Üst