• DİKKAT

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

Optionbutton işaretlensin

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Merhaba arkadaşlar.
Userform açılırken, üzerinde bulunan Optionbuttonların hücre değerine göre seçilmesini sağlamak istiyorum.
Örnek c sütunundaki hücre değeri evet ise optionbutton1 işaretlensin, hayır ise optionbutton2 işaretlensin.
 
Merhaba arkadaşlar.
Userform açılırken, üzerinde bulunan Optionbuttonların hücre değerine göre seçilmesini sağlamak istiyorum.
Örnek c sütunundaki hücre değeri evet ise optionbutton1 işaretlensin, hayır ise optionbutton2 işaretlensin.

C sütununun hangisine göre olacak C1 mi Cnin son dolu hücresimi? Örnek dosya olsa idi şimdi belkide cevap almış olabilirdiniz.
 
Aşağıdaki şekilde deneyiniz.

Kod:
Private Sub UserForm_Activate()
  If Cells(1, "C").Value = "Evet" Then
     OptionButton1.Value = True
     OptionButton2.Value = False
  End If
  
  If Cells(1, "C").Value = "Hayır" Then
     OptionButton1.Value = False
     OptionButton2.Value = True
  End If
End Sub
 
C sütununun hangisine göre olacak C1 mi Cnin son dolu hücresimi? Örnek dosya olsa idi şimdi belkide cevap almış olabilirdiniz.
Özetle;
listview'da görüntülenen kişileri çift tıklama ile text ve comboboxlara yüklüyorum. Kayıtların tutulduğu sayfada (PERSONEL) kişinin durumu hakkında bilgi N sütununda bulunuyor. Kişinin durumu PASİF ise listview da mavi renkle belirtiliyor.

Sorunum çift tıklama olayında sürekli optionbutton2 işaretleniyor.
Dosya ektedir.
http://s2.dosya.tc/server3/9y5bzb/IMZA_FOYU_-_Kopya.rar.html
 
Merhaba
Örnek dosyanıza göre; döngü bölümüne gerek görünmüyor.
Aşağıdaki gibi deneyiniz.
Kod:
Private Sub ListView1_DblClick()
On Error Resume Next
'.....
'...kodlarıız
'....
TextBox13 = ListView1.ListItems(Y).ListSubItems(12).Text 'iş
TextBox14 = ListView1.ListItems(Y).ListSubItems(13).Text 'dahili

[COLOR="Red"]son = ListView1.SelectedItem
    If Cells(son, "N").Value = "PASİF" Then
        OptionButton1.Value = False
        OptionButton2.Value = True
    ElseIf Cells(son, "N").Value = "AKTİF" Then
        OptionButton1.Value = True
        OptionButton2.Value = False
    End If[/COLOR]

End Sub
 
Merhaba,

ilgili kod bloğunuzu aşağıdaki ile birebir değiştirin.

Private Sub ListView1_DblClick()
On Error Resume Next
Dim Y As Integer
Y = ListView1.SelectedItem.Index
TextBox2 = ListView1.ListItems(Y).ListSubItems(1).Text 'Sıra No
TextBox3 = ListView1.ListItems(Y).ListSubItems(2).Text 'Adı Soyadı
TextBox4 = ListView1.ListItems(Y).ListSubItems(3).Text 'kimliği
ComboBox4 = ListView1.ListItems(Y).ListSubItems(4).Text 'sicili
TextBox6 = ListView1.ListItems(Y).ListSubItems(5).Text 'ünvanı
ComboBox5 = ListView1.ListItems(Y).ListSubItems(6).Text 'şubesi
ComboBox7 = ListView1.ListItems(Y).ListSubItems(7).Text 'birimi
TextBox9 = ListView1.ListItems(Y).ListSubItems(8).Text 'e-posta
TextBox10 = ListView1.ListItems(Y).ListSubItems(9).Text 'kullanıcı
TextBox11 = ListView1.ListItems(Y).ListSubItems(10).Text 'cep
TextBox12 = ListView1.ListItems(Y).ListSubItems(11).Text 'ev
TextBox13 = ListView1.ListItems(Y).ListSubItems(12).Text 'iş
TextBox14 = ListView1.ListItems(Y).ListSubItems(13).Text 'dahili

If Cells(Y + 2, "N").Value = "PASİF" Then
OptionButton1.Value = False
OptionButton2.Value = True
ElseIf Cells(Y + 2, "N").Value = "AKTİF" Then
OptionButton1.Value = True
OptionButton2.Value = False
End If


End Sub
 
Teşekkür ederim arkadaşlar, talep karşılanmıştır.
Kişinin pasifliği ile ilgili bir düzeltme daha mümkün olurmu?
Şöyle ki;
Kişinin durumu pasifse yazdır butonundaki makroya eklenecek kod ile IMZA FOYU sayfasında G6:G36 hücrelerine "Kişi Pasif Durumdadır" yazsın.

Kod:
Private Sub cmdYAZDIR_Click()

If OptionButton6.Value = True Then 'Toplu Yazdır

If ComboBox6.Text = "" Then
ComboBox6.SetFocus
MsgBox ("Lütfen Yazdırılacak Birimi Seçiniz..."), vbInformation, "S.S"
Exit Sub
End If

Say = Sheets("PERSONEL").Range("f3").End(xlDown).Row
    For i = 2 To Say
        If Cells(i, 6) = ComboBox6.Text Then
        Sheets(2).Range("c2").Value = Cells(i, 2).Value
        Sheets(2).Range("f2").Value = Cells(i, 6).Value
        Sheets(2).Range("c3").Value = Cells(i, 3).Value
        Sheets(2).Range("d3").Value = Cells(i, 4).Value
        Sheets(2).Range("f3").Value = Cells(i, 7).Value
        Sheets(2).Range("f4").Value = Cells(i, 5).Value
        Sheets(2).PrintOut , 1
        End If
    Next
 End If
 
If OptionButton7.Value = True Then 'Kişi Yazdır
If TextBox3.Text = "" Then
TextBox3.SetFocus
MsgBox ("Lütfen Yazdırılacak Kişiyi Seçiniz..."), vbInformation, "S.S"
Exit Sub
End If
        Sheets(2).Range("c2").Value = TextBox3.Text
        Sheets(2).Range("c3").Value = TextBox4.Text
        Sheets(2).Range("d3").Value = ComboBox4.Text
        Sheets(2).Range("f2").Value = ComboBox5.Text
        Sheets(2).Range("f3").Value = ComboBox7.Text
        Sheets(2).Range("f4").Value = TextBox6.Text
        Sheets(2).PrintOut , 1
End If
End Sub
 
Son düzenleme:
Kişinin durumu pasifse yazdır butonundaki makroya eklenecek kod ile IMZA FOYU sayfasında G6:G36 hücrelerine "Kişi Pasif Durumdadır" yazsın.
Merhaba
"cmdYAZDIR_Click" makrosunu aşağıdaki gibi değiştirip deneyelim.
http://s2.dosya.tc/server3/vwv9p0/IMZA_FOYU_-_2.zip.html
Kod:
[SIZE="2"]Private Sub cmdYAZDIR_Click()
Dim s1, s2 As Worksheet
Set s1 = Sheets("PERSONEL")
Set s2 = Sheets("IMZA FOYU")
'If Not FrameTest Then Exit Sub

If OptionButton6.Value = True Then 'Toplu Yazdır

If ComboBox6.Text = "" Then
ComboBox6.SetFocus
MsgBox ("Lütfen Yazdırılacak Birimi Seçiniz..."), vbInformation, "Süleyman Savaş"
Exit Sub
End If

Say = s1.Range("f3").End(xlDown).Row
    For i = 2 To Say
        If Cells(i, 6) = ComboBox6.Text Then
     s2.Range("G6:G36").Value = Empty
If s1.Cells(i, "N") = "PASİF" Then s2.Range("G6:G36").Value = "Kişi Pasif Durumdadır"
        s2.Range("c2").Value = s1.Cells(i, 2).Value
        s2.Range("f2").Value = s1.Cells(i, 6).Value
        s2.Range("c3").Value = s1.Cells(i, 3).Value
        s2.Range("d3").Value = s1.Cells(i, 4).Value
        s2.Range("f3").Value = s1.Cells(i, 7).Value
        s2.Range("f4").Value = s1.Cells(i, 5).Value
        s2.PrintOut , 1
        End If
    Next
 End If
 
If OptionButton7.Value = True Then 'Kişi Yazdır
If TextBox3.Text = "" Then
TextBox3.SetFocus
MsgBox ("Lütfen Yazdırılacak Kişiyi Seçiniz..."), vbInformation, "Süleyman Savaş"
Exit Sub
End If
s2.Range("G6:G36").Value = Empty
If OptionButton2.Value = True Then s2.Range("G6:G36").Value = "Kişi Pasif Durumdadır"
        s2.Range("c2").Value = TextBox3.Text
        s2.Range("c3").Value = TextBox4.Text
        s2.Range("d3").Value = ComboBox4.Text
        s2.Range("f2").Value = ComboBox5.Text
        s2.Range("f3").Value = ComboBox7.Text
        s2.Range("f4").Value = TextBox6.Text
        s2.PrintOut , 1
End If
End Sub
[/SIZE]
 
Son düzenleme:
Merhaba
"cmdYAZDIR_Click" makrosunu aşağıdaki gibi değiştirip deneyelim.
http://s2.dosya.tc/server3/sgzqfn/IMZA_FOYU_-_Kopya.zip.html
Kod:
[SIZE="2"]Private Sub cmdYAZDIR_Click()
If OptionButton6.Value = True Then 'Toplu Yazdır

If ComboBox6.Text = "" Then
ComboBox6.SetFocus
MsgBox ("Lütfen Yazdırılacak Birimi Seçiniz..."), vbInformation, "Süleyman Savaş"
Exit Sub
End If
Dim s1, s2 As Worksheet
Set s1 = Sheets("PERSONEL")
Set s2 = Sheets("IMZA FOYU")
Say = s1.Range("f3").End(xlDown).Row
    For i = 2 To Say
        If Cells(i, 6) = ComboBox6.Text Then
     s2.Range("G6:G36").Value = Empty
If s1.Cells(i, "N") = "PASİF" Then s2.Range("G6:G36").Value = "Kişi Pasif Durumdadır"
        s2.Range("c2").Value = s1.Cells(i, 2).Value
        s2.Range("f2").Value = s1.Cells(i, 6).Value
        s2.Range("c3").Value = s1.Cells(i, 3).Value
        s2.Range("d3").Value = s1.Cells(i, 4).Value
        s2.Range("f3").Value = s1.Cells(i, 7).Value
        s2.Range("f4").Value = s1.Cells(i, 5).Value
        s2.PrintOut , 1
        End If
    Next
 End If
 
If OptionButton7.Value = True Then 'Kişi Yazdır
If TextBox3.Text = "" Then
TextBox3.SetFocus
MsgBox ("Lütfen Yazdırılacak Kişiyi Seçiniz..."), vbInformation, "Süleyman Savaş"
Exit Sub
End If
s2.Range("G6:G36").Value = Empty
If OptionButton2.Value = True Then s2.Range("G6:G36").Value = "Kişi Pasif Durumdadır"
        s2.Range("c2").Value = TextBox3.Text
        s2.Range("c3").Value = TextBox4.Text
        s2.Range("d3").Value = ComboBox4.Text
        s2.Range("f2").Value = ComboBox5.Text
        s2.Range("f3").Value = ComboBox7.Text
        s2.Range("f4").Value = TextBox6.Text
        s2.PrintOut , 1
End If
End Sub
[/SIZE]
Tekrar teşekkür ederim.
 
Kişi yazdır bölümünde hata verdi. Tekrar kontrol edebilirmiyiz hocam.
ErRQdZ.png
 
Merhaba
Yukarıdaki mesajdada düzelttim. Sayfa adlarının tanımı "Eğer" den önce olmalıydı.
"OptionButton6.Value = True" olmadığı için sayfa adı "s2" ye tanımlanmamıştır.
Kod:
Private Sub cmdYAZDIR_Click()
[COLOR="Blue"]Dim s1, s2 As Worksheet
Set s1 = Sheets("PERSONEL")
Set s2 = Sheets("IMZA FOYU") [/COLOR]

If OptionButton6.Value = True Then 'Toplu Yazdır
 
Merhaba
Yukarıdaki mesajdada düzelttim. Sayfa adlarının tanımı "Eğer" den önce olmalıydı.
"OptionButton6.Value = True" olmadığı için sayfa adı "s2" ye tanımlanmamıştır.
Kod:
Private Sub cmdYAZDIR_Click()
[COLOR="Blue"]Dim s1, s2 As Worksheet
Set s1 = Sheets("PERSONEL")
Set s2 = Sheets("IMZA FOYU") [/COLOR]

If OptionButton6.Value = True Then 'Toplu Yazdır

Hata giderilmiş, teşekkür ederim.
 
Geri
Üst