1 sayfadan 1. sayfa

Kapalı Dosyanın belli bir sayfasından lisboxa veri alma

İletiTarih: 10 Oca 2020 22:00
Feylosof
Merhabalar;
Belli aylardan oluşan sayfaları olan bir arşiv dosyam var. Bu dosyadan optionbutton yoluyla hangi ayı seçersem o sayfadan verileri listboxa aktarmak istiyorum. Bunun için kod konusunda yardımınıza ihtiyacım var. Şimdiden teşekkürler.

Cevap: Kapalı Dosyanın belli bir sayfasından lisboxa veri al

İletiTarih: 10 Oca 2020 23:24
Feyzullah
Kod: Tümünü seç
Dim conrs
Private Sub CommandButton1_Click()
For 
ob 1 To 10
If Me.Controls("OptionButton" ob).Value True Then
sayfa 
Me.Controls("OptionButton" ob).Caption
sorgu 
"Select * From [" sayfa "$B3:AL500]"
rs.Open sorgucon11
If rs.RecordCount 0 Then
With Me
.ListBox1
.ColumnCount rs.Fields.Count
.Column rs.getrows
End With
End 
If
rs.Close
End 
If
Next
End Sub
Private Sub UserForm_Initialize()
Set con VBA.CreateObject("adodb.Connection"): Set rs VBA.CreateObject("adodb.Recordset")
        
con.Open "provider=microsoft.ace.oledb.12.0;data source=" _
        ThisWorkbook
.Path "\ARŞİV.xlsm" ";extended properties=""Excel 12.0;hdr=no"""
End Sub
Private Sub UserForm_QueryClose(Cancel As IntegerCloseMode As Integer)
        
con.Close:    Set con Nothing:    Set rs Nothing
End Sub

Cevap: Kapalı Dosyanın belli bir sayfasından lisboxa veri al

İletiTarih: 10 Oca 2020 23:50
Feylosof
Üsttadım ne kadar teşekkür etsem azdır. Minnet ve şükranlarımla... [oley]

Cevap: Kapalı Dosyanın belli bir sayfasından lisboxa veri al

İletiTarih: 11 Oca 2020 23:26
Feylosof
Hocam bir sorum daha olacak. Arşiv dosyasının üçüncü satırı tarihlerden oluşuyor. Bu satırı lisboxa alırken bazı sütunları olması gerektiği gibi bazı sütunları ise metinsel olarak alıyor bunu nasıl düzenleyebiliriz?

Cevap: Kapalı Dosyanın belli bir sayfasından lisboxa veri al

İletiTarih: 15 Oca 2020 22:02
Feyzullah
Sorunuzun üzerinden zaman geçmiş, ne yaptınız çöze bildiniz mi?

Cevap: Cevap: Kapalı Dosyanın belli bir sayfasından lisboxa

İletiTarih: 15 Oca 2020 23:38
Feylosof
Feyzullah yazdı:Sorunuzun üzerinden zaman geçmiş, ne yaptınız çöze bildiniz mi?

Sayın hocam merhabalar. Malesef son sorumun cevabı halen bekliyor. Epeyi bir araştırdım ama çözüm bulamadım. Sütun üzerinde örnekler var ama satır ile ilgili çözüm bulamadım.

Cevap: Kapalı Dosyanın belli bir sayfasından lisboxa veri al

İletiTarih: 18 Oca 2020 17:28
Feyzullah
İki türlü çözüm üretebilirsiniz.

1. Arşiv dosyasındaki tarihlerin hücre biçimlerini tarih yapıp, sonra tek tek "F2 + Enter" yapmak birinci çözüm olacaktır.

2.Aşağıdaki kodu kullanarak ListBoxda 1.satırı makro kodu ile tarih formatına çevirmek. Aşağıdaki kodu CommandButton1 kodun sonuna eklemen yeterlidir.

Kod: Tümünü seç
With Me.ListBox1
For i 
= 0 To .ColumnCount - 1
.List(0, i) = Format(.List(0, i), "dd.mm.yyyy")
Next i
End With


Kullandığınız kodun son hali aşağıdaki gibide olabilir.

Kod: Tümünü seç
Dim con, rs
Private Sub CommandButton1_Click
()
For ob = 1 To 10
If Me
.Controls("OptionButton" & ob).Value = True Then
sayfa 
= Me.Controls("OptionButton" & ob).Caption
sorgu 
= "Select * From [" & sayfa & "$B3:AL500]"
rs.Open sorgu, con, 1, 1
If rs
.RecordCount > 0 Then
With Me
.ListBox1
.ColumnCount = rs.Fields.Count
.Column = rs.getrows
For i 
= 0 To .ColumnCount - 1
.List(0, i) = Format(.List(0, i), "dd.mm.yyyy")
Next i
End With
End If
rs
.Close
End If
Next
End Sub

Private Sub UserForm_Initialize
()
Set con = VBA.CreateObject("adodb.Connection"): Set rs = VBA.CreateObject("adodb.Recordset")
        con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
        ThisWorkbook
.Path & "\ARŞİV.xlsm" & ";extended properties=""Excel 12.0;hdr=no"""
End Sub
Private Sub UserForm_QueryClose
(Cancel As Integer, CloseMode As Integer)
        con.Close:    Set con = Nothing:    Set rs = Nothing
End Sub


Cevap: Kapalı Dosyanın belli bir sayfasından lisboxa veri al

İletiTarih: 18 Oca 2020 18:00
Feylosof
Feyzullah bey,
Kodu uyarladım ve gayet iyi çalışıyor şimdilik bir hata vermedi. Çok teşekkür ederim. Sizden Allah razı olsun.