Excel Userform'da Arama Sonucunda Kayıtlı Checkbox Değerleri Formda Görüntülenmiyor.

1 2 3 4
09/03/2021, 13:19

Oğuz Türkyılmaz

Merhaba
Excel sayfasına kaydettiğim bilgilerde arama yapıp istediğim kaydı Userform ekranına getirdiğimde tüm check boxlarda işaretler varla yok arası çıkıyor. Haliyle Tikle işaretlenmiş kayıtlarda CheckBoxlarda görüntülenmiyor. Bu durumu nasıl aşabilirim. Teşekkürler.



10/03/2021, 11:25

feraz



Resimdeki gibi deneyiniz.

Function Bosmu(deger) As Byte
    If IsNull(deger) Then
        Bosmu = 0
  Else
        Bosmu = 1
  End If
End Function

Private Sub btn_Arama_Click()

On Error GoTo Bitir
aranan = InputBox("Aramak istediginiz kaydýn ID Numarasini giriniz.", "KAYIT ARAMA")
Range("A:A").Find(aranan).Select
SatirSil = ActiveCell.Row

TextBox_ID.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 1)
TextBox_FirmaAdi.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 2)
TextBox_FirmaUnvani.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 3)
TextBox_YetkiliKisi.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 4)
TextBox_Telefon.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 5)
TextBox_Gsm.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 6)
TextBox_Email.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 7)
TextBox_Adres.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 8)
TextBox_Aciklama.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 9)
ComboBox_Ilce.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 10)
ComboBox_Sehir.Text = Worksheets("Ana_Sayfa").Cells(SatirSil, 11)
ComboBox_Bolge.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 12)
ComboBox_Temsilci.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 13)
ComboBox_RouteDay.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 14)
ComboBox_YetkiliBayilik.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 15)
CheckBox_AlbertGenau.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 16))
CheckBox_AsasPen.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 17))
CheckBox_ByErtTente.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 18))
CheckBox_Karpen.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 19))
CheckBox_OptimalYapi.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 20))
CheckBox_Palmiye.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 21))
CheckBox_Rsg.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 22))
CheckBox_Vizyon.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 23))
CheckBox_Winsa.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 24))
CheckBox_Diger.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 25))
TextBox_Tarih.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 26))
Exit Sub
Bitir: MsgBox "Aranan Kayit Bulunamadi!...", , "Firma Tanýmlama Formu"

End Sub

sizin kodlarda tümünü işaretliyor benimkide onu halledeyim kodu eklerim
10/03/2021, 11:47

feraz

Kodun son hali bu.Checkbox kodlarındaki gibi herzaman .Value koymazsanız sonuna problemler olabiliyor.

Alttaki koddaki And deger <> "Wahr" olan yeri kaldırabilirsiniz silince çalışırsa benim Pc başka dil olduğu için ekledim.Birde "DOÐRU" bu kelimedeki Ð yerine büyük yumuşak ğ yazın.

Function Bosmu(deger) As Byte
If deger <> "Evet" And deger <> "DOÐRU" And deger <> "Wahr" Then
Bosmu = 0
Else
Bosmu = 1
End If
End Function

Private Sub btn_Arama_Click()

On Error GoTo Bitir
aranan = InputBox("Aramak istediginiz kaydýn ID Numarasini giriniz.", "KAYIT ARAMA")
Range("A:A").Find(aranan).Select
SatirSil = ActiveCell.Row

TextBox_ID.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 1)
TextBox_FirmaAdi.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 2)
TextBox_FirmaUnvani.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 3)
TextBox_YetkiliKisi.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 4)
TextBox_Telefon.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 5)
TextBox_Gsm.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 6)
TextBox_Email.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 7)
TextBox_Adres.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 8)
TextBox_Aciklama.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 9)
ComboBox_Ilce.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 10)
ComboBox_Sehir.Text = Worksheets("Ana_Sayfa").Cells(SatirSil, 11)
ComboBox_Bolge.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 12)
ComboBox_Temsilci.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 13)
ComboBox_RouteDay.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 14)
ComboBox_YetkiliBayilik.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 15)

CheckBox_AlbertGenau.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 16).Value)
CheckBox_AsasPen.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 17).Value)
CheckBox_ByErtTente.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 18).Value)
CheckBox_Karpen.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 19).Value)
CheckBox_OptimalYapi.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 20).Value)
CheckBox_Palmiye.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 21).Value)
CheckBox_Rsg.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 22).Value)
CheckBox_Vizyon.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 23).Value)
CheckBox_Winsa.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 24).Value)
CheckBox_Diger.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 25).Value)
TextBox_Tarih.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 26).Value)
Exit Sub
Bitir: MsgBox "Aranan Kayit Bulunamadi!...", , "Firma Tanýmlama Formu"

End Sub

(10/03/2021, 11:47)feraz yazdı: Function Bosmu(deger) As Byte    If deger <> "Evet" And deger <> "DOÐRU" And deger <> "Wahr" Then        Bosmu = 0    Else        Bosmu = 1    End IfEnd Function

Ayrıca checkboxlara gelecek veri sütunları evet yada hayır olacaksa yukardaki kodu alttaki ile değiştirin.

Function Bosmu(deger) As Byte
    If deger <> "Evet" Then
        Bosmu = 0
    Else
        Bosmu = 1
    End If
End Function
10/03/2021, 11:59

feraz

Son olarak alttaki koduda ekleyeyim.İf kısımlarına eklemeler yapabilirsiniz hücredeki verye göre.

Function Bosmu(deger) As Byte
    ' 0 demek checkboxtaki tik olmayacak 1 se olacak demektir
    If deger = "Evet" Then Bosmu = 0
    If deger = "Hayýr" Then Bosmu = 1
End Function
10/03/2021, 14:23

Oğuz Türkyılmaz

(10/03/2021, 11:59)feraz yazdı: Son olarak alttaki koduda ekleyeyim.İf kısımlarına eklemeler yapabilirsiniz hücredeki verye göre.

Function Bosmu(deger) As Byte
    ' 0 demek checkboxtaki tik olmayacak 1 se olacak demektir
    If deger = "Evet" Then Bosmu = 0
    If deger = "Hayýr" Then Bosmu = 1
End Function

Feraz Bey yeni kodlamanızdan sonra arama butonu ile çağırdığımız eski kaydın tarih alanında Tarih Bilgisi 0 olarak geliyor. Bunun dışında kodlar çalışıyor fakat güncelleme yaptığımızda güncelleme koduna checkboxların evet hayır değeri alması için eklediğim if kodlarında hata veriyor. 



10/03/2021, 16:22

feraz

Akşama bakayım abey.
.value yerine .value2 yada .text yazıp deneyiniz.
1 2 3 4