Soru Optionbuttonun seçili gelmesi

Katılım
11 Şubat 2010
Mesajlar
202
Excel Vers. ve Dili
13 türkçe
Altın Üyelik Bitiş Tarihi
21-01-2022
Selamlar,
Daha önce @ÖmerBey in hazırladığı kod üzerinden yardım talep edeceğim. "Listbox sıralama konusunda yardımını almıştım. "
Userform kapatılırken hangi optionbutton seçilimişse userformu açtığımızda da seçili olsun. Veya şöyle izah edeyim hangi sıralama şekli seçilmişse o değiştirilene kadar kalsın.Teşekkürler.
Selametle
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Kapatma kodu olarak Unload Me yerine Me.Hide kullanırsanız isteğiniz olacaktır.
 
Katılım
11 Şubat 2010
Mesajlar
202
Excel Vers. ve Dili
13 türkçe
Altın Üyelik Bitiş Tarihi
21-01-2022
Ömer Bey,
Dosya kapatıldığında da son seçilen kayıtlı olsun.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
optionbutton butonların hangisi seçili ise seçme işlemi gerçekleştiğinde ya sayfadaki herhangi bir hücreye kayıt yapacak yada sayfadaki bir nesneye kayıt yapacak daha sonra userform açılışında bu kayıtı dikkate alarak seçimi ona göre yapacak
veya bu kayıt işlemini bir metin dosyasına da yapabilirsiniz.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Kodunuza yaptığım ilaveleri kırmızı ile gösteriyorum.
kod aktif sayfanın D1 hücresine sayı vermekte

Rich (BB code):
Private Sub Frame2_Click()

End Sub

Private Sub kapat_Click()
Unload Me
End Sub
Private Sub kapat2_Click()
Unload Me
End Sub

Private Sub nsyrara_Change()
    Dim Sayfa As Worksheet
    
    ListBox1.Clear
    
    For Each Sayfa In Worksheets
        If Sayfa.Name <> "KIYIK" Then
 
            If UCase(Replace(Replace(Sayfa.Name, "i", "İ"), "ı", "I")) Like "*" & UCase(Replace(Replace(nsyrara.Text, "i", "İ"), "ı", "I")) & "*" Then
                ListBox1.AddItem Sayfa.Name
            End If
          End If
          
    Next
End Sub


Private Sub UserForm_Initialize()


 Dim Sayfa As Worksheet
 
ListBox1.ListStyle = 1
ListBox1.MultiSelect = 0
    ListBox1.Clear
    For Each Sayfa In Worksheets
        If Sayfa.Name <> "KIYIK" Then
    
            If UCase(Replace(Replace(Sayfa.Name, "i", "İ"), "ı", "I")) Like "*" & UCase(Replace(Replace(nsyrara.Text, "i", "İ"), "ı", "I")) & "*" Then
                ListBox1.AddItem Sayfa.Name
            End If
        End If
      
    Next

For i = 1 To 5
If Cells(1, 4) = i Then
Controls("OptionButton" & i).Value = True
End If
Next i


End Sub

Private Sub OptionButton1_Click() 'Sayfa sırasına göre'
Dim liste(), a As Byte, b As Byte
For Each syf In Sheets
    For a = 0 To ListBox1.ListCount - 1
        If syf.Name = ListBox1.List(a) Then
            ReDim Preserve liste(b)
            liste(b) = ListBox1.List(a)
            b = b + 1
            Exit For
        End If
    Next
Next
ListBox1.List = liste
Cells(1, 4) = 1
End Sub

Private Sub OptionButton2_Click() 'Alfabetik sırala'
Dim a As Byte, b As Byte, x As String
For a = 0 To ListBox1.ListCount - 1
    For b = a + 1 To ListBox1.ListCount - 1
        If ListBox1.List(a) > ListBox1.List(b) Then
            x = ListBox1.List(a)
            ListBox1.List(a) = ListBox1.List(b)
            ListBox1.List(b) = x
        End If
    Next
Next
Cells(1, 4) = 2
End Sub

Private Sub OptionButton3_Click() 'Alfabetik tersten sırala'
Dim a As Byte, b As Byte, x As String
For a = 0 To ListBox1.ListCount - 1
    For b = a + 1 To ListBox1.ListCount - 1
        If ListBox1.List(a) < ListBox1.List(b) Then
            x = ListBox1.List(a)
            ListBox1.List(a) = ListBox1.List(b)
            ListBox1.List(b) = x
        End If
    Next
Next
Cells(1, 4) = 3
End Sub

Private Sub OptionButton4_Click() 'Tarihe göre: Yeniden eskiye'
Dim a As Byte, b As Byte, x As String
For a = 0 To ListBox1.ListCount - 1
    For b = a + 1 To ListBox1.ListCount - 1
        If DateValue("1 " & Replace(Replace(ListBox1.List(a), "I", "ı"), "İ", "i")) < DateValue("1 " & Replace(Replace(ListBox1.List(b), "I", "ı"), "İ", "i")) Then
            x = ListBox1.List(a)
            ListBox1.List(a) = ListBox1.List(b)
            ListBox1.List(b) = x
        End If
    Next
Next
Cells(1, 4) = 4
End Sub

Private Sub OptionButton5_Click() 'Tarihe göre: eskiden yeniye'
Dim a As Byte, b As Byte, x As String
For a = 0 To ListBox1.ListCount - 1
    For b = a + 1 To ListBox1.ListCount - 1
        If DateValue("1 " & Replace(Replace(ListBox1.List(a), "I", "ı"), "İ", "i")) > DateValue("1 " & Replace(Replace(ListBox1.List(b), "I", "ı"), "İ", "i")) Then
            x = ListBox1.List(a)
            ListBox1.List(a) = ListBox1.List(b)
            ListBox1.List(b) = x
        End If
    Next
Next
Cells(1, 4) = 5
End Sub
 
Katılım
11 Şubat 2010
Mesajlar
202
Excel Vers. ve Dili
13 türkçe
Altın Üyelik Bitiş Tarihi
21-01-2022
Selamlar Halit Bey,
Elinize sağlık. Teşekkür ederim. Son bir soru, optionbutton yerine makrolar kullanılsa nasıl olur.
 
Son düzenleme:
Katılım
11 Şubat 2010
Mesajlar
202
Excel Vers. ve Dili
13 türkçe
Altın Üyelik Bitiş Tarihi
21-01-2022
Optionbutton yerine hücre değerine göre sirala1, sirala2... diye adlandırılan makroları nasıl çalıştırabiliriz.
 
Üst