- Katılım
- 24 Şubat 2009
- Mesajlar
- 1,077
- Excel Vers. ve Dili
- 2016
- Altın Üyelik Bitiş Tarihi
- 01-03-2023
İyi akşamlar arkadaşlar:
Aşağıdaki kodla kapalı dosyamın LİSTE sayfasından verileri alıyorum.
CheckBox1 aktif edince her iki sayfada arama yapsın pasif edince sadece LİSTE sayfasını getirsin.
Ben bu kodu denedim olmadı.
Aşağıdaki kodla kapalı dosyamın LİSTE sayfasından verileri alıyorum.
Aynı dosyamın LİSTE ve TÜM sayfalarında verileri ise bu kodla;Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 4
ListBox1.ColumnWidths = "40;85;75;70"
Dim a As Long, dosyayolu As String, sorgu As String, con As Object, rs
ReDim ls(1 To 4, 1 To 1)
dosyayolu = "D:\Belgelerim\Personel\PERSONEL LİSTESİ.xlsm"
Set con = VBA.CreateObject("adodb.Connection")
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
dosyayolu & ";Extended Properties = ""Excel 12.0 Macro;HDR=yes"";"
sorgu = "select Sicili,Adı,Soyadı,[Tc Kimlik No] from[LİSTE$] where sicili is not null "
Set rs = con.Execute(sorgu)
Do Until rs.EOF
a = a + 1
ReDim Preserve ls(1 To 4, 1 To a)
ls(1, a) = rs!Sicili
ls(2, a) = rs!Adı
ls(3, a) = rs!Soyadı
ls(4, a) = rs![Tc Kimlik No]
rs.MoveNext
Loop
con.Close
End Sub
Benim isteğimPrivate Sub UserForm_Initialize()
ListBox1.ColumnCount = 4
ListBox1.ColumnWidths = "40;85;75;70"
Dim a As Long, dosyayolu As String, sorgu As String, con As Object, rs
ReDim ls(1 To 4, 1 To 1)
'Application.ScreenUpdating = False
dosyayolu = "D:\Belgelerim\Personel\PERSONEL LİSTESİ.xlsm"
Set con = VBA.CreateObject("adodb.Connection")
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
dosyayolu & ";Extended Properties = ""Excel 12.0 Macro;HDR=yes"";"
For Each jx In Array("LİSTE", "TÜM")
sorgu = "select Sicili,Adı,Soyadı,[Tc Kimlik No] from[" & jx & "$] where sicili is not null "
Set rs = con.Execute(sorgu)
Do Until rs.EOF
a = a + 1
ReDim Preserve ls(1 To 4, 1 To a)
ls(1, a) = rs!Sicili
ls(2, a) = rs!Adı
ls(3, a) = rs!Soyadı
ls(4, a) = rs![Tc Kimlik No]
rs.MoveNext
Loop
Next
con.Close
End Sub
CheckBox1 aktif edince her iki sayfada arama yapsın pasif edince sadece LİSTE sayfasını getirsin.
Ben bu kodu denedim olmadı.
Nasil bir değişiklik yapmalıyım herkese iyi geceler.Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 4
ListBox1.ColumnWidths = "40;85;75;70"
Dim a As Long, dosyayolu As String, sorgu As String, con As Object, rs
ReDim ls(1 To 4, 1 To 1)
'Application.ScreenUpdating = False
dosyayolu = "D:\Belgelerim\Personel\PERSONEL LİSTESİ.xlsm"
Set con = VBA.CreateObject("adodb.Connection")
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
dosyayolu & ";Extended Properties = ""Excel 12.0 Macro;HDR=yes"";"
If CheckBox1.Value = True Then
For Each jx In Array("LİSTE", "TÜM")
sorgu = "select Sicili,Adı,Soyadı,[Tc Kimlik No] from[" & jx & "$] where sicili is not null "
Next
Else
sorgu = "select Sicili,Adı,Soyadı,[Tc Kimlik No] from[LİSTE$] where sicili is not null "
End If
Set rs = con.Execute(sorgu)
Do Until rs.EOF
a = a + 1
ReDim Preserve ls(1 To 4, 1 To a)
ls(1, a) = rs!Sicili
ls(2, a) = rs!Adı
ls(3, a) = rs!Soyadı
ls(4, a) = rs![Tc Kimlik No]
rs.MoveNext
Loop
Next
con.Close
End Sub