Merhabalar formda bulduğum kodlar aile hekimliğinde kullanabileceğim 3000 kişilik bir hasta grubunun bilgilerini analiz etme, aşı takibi yapma, izlem takibi yapma, kayıt işlemleri ve ay sonu hazırlanacak 20 küsür raporları buradan hızlı bir şekilde yapmak istiyorum.
Sorunum şöyle telefonlar adında bir sayfada b sütununda tc nolar var.
Aynı tc ye 1 den fazla telefon kaydı yapılabilmekte.
Sadece uzer formdaki txtkimlik adındaki texboxa girdiğim tc ye ait telefonlar listboxta listelensin istiyorum ama başaramadım.Şimdiden herkese teşekkür ederim.
Kullanmaya çalıştığım kod aşağıdadır.
Sorunum şöyle telefonlar adında bir sayfada b sütununda tc nolar var.
Aynı tc ye 1 den fazla telefon kaydı yapılabilmekte.
Sadece uzer formdaki txtkimlik adındaki texboxa girdiğim tc ye ait telefonlar listboxta listelensin istiyorum ama başaramadım.Şimdiden herkese teşekkür ederim.
Kullanmaya çalıştığım kod aşağıdadır.
Kod:
Private Sub UserForm_Initialize()
Dim Satır As Long
KİMLİKFRM.Cmdcinsiyet.RowSource = "VERİ!A1:A2"
KİMLİKFRM.ComboBox2.RowSource = "VERİ!B1:B2"
KİMLİKFRM.ComboBox3.RowSource = "VERİ!C1:C16"
KİMLİKFRM.ComboBox4.RowSource = "VERİ!D1:D2"
satir = 0
On Error Resume Next
ListBox1.RowSource = ""
ListBox1.Clear
On Error GoTo 0
ReDim veri_dizisi(1 To 22, 1 To 100000) ' bu kod kendimize 22 sutun 65536 satır bir tablo yaratır sanki bos bir excel sayfası gibi.
With Worksheets("TELEFONLAR")
For i = 2 To .Range("b1000000").End(3).Row
If Cells(i, 2) = Txtkimlik.Text Then
satir = satir + 1
For Sutun = 1 To 21
veri_dizisi(Sutun, satir) = .Cells(i, Sutun).Text
Next Sutun
End If
Next i 'burda artık satış sayfasının 2 satırına git kriterlere uyuyorsa Veri_dizini tablosuna yaz için kodları geri gonderiyoruz taki satış sayfasındaki satırlar bitene kadar.
End With
If satir > 0 Then
ReDim Preserve veri_dizisi(1 To 22, 1 To satir) 'burada tablomuza sadece istediğimiz bilgileri ekledik bos kalan satırları kaldırıp tabloyu sabitliyoruz.
Else
Exit Sub
End If
ListBox1.Column = veri_dizisi 'listbox içinde bizim tabloyu gostermesi için bu kodu ekledik.
With KİMLİKFRM.ListBox1
.ColumnCount = 4
.ColumnWidths = "75;75;75;125"
.ForeColor = vbBlack
.RowSource = "TELEFONLAR!C1:F" & [TELEFONLAR!C10000].End(3).Row
End With
If ComboBox4.Text = "BÖLGE DIŞI" Then
Txtkimlik.BackColor = vbBlue
Txtkimlik.ForeColor = vbWhite
End If
End Sub