incsoft
Yeni Üye
- Katılım
- 28 Ocak 2019
- Mesajlar
- 234
- En iyi yanıt
- 0
- Puanları
- 18
- Yaş
- 43
- Konum
- Ankara
- Ad Soyad
- Ufuk İNCE
- Office Vers.
- Office 2019 Professional
Arkadaşlar kullanmış olduğum raporumda ayın günlerine göre 1......31 aralığında ve aşağıdaki formülle işlem yapıyor ancak ayda 31 gün varsa alt alta 31 adet yazmam ve 1$D339 , 2$D339.................31$D339 olarak değiştirmem gerekiyor. Bunu ona gerek kalmadan My_Query = "Select Distinct * From [1$D339] Where Not IsNull(F1)" kısmındaki [1$D339] formülünü aktif sayfadan alacak şekilde nasıl yapabilirim arkadaşlar? Birde butona tıklamadan veri girildikçe otomatik yapma imkanı varmıdır?
Option Explicit
Sub Unique_2_List()
Dim My_Connection As Object, My_Recordset As Object, My_Query As String
Set My_Connection = VBA.CreateObject("AdoDb.Connection")
My_Connection.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & _
ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;Hdr=No"""
My_Query = "Select Distinct * From [1$D339] Where Not IsNull(F1)"
Set My_Recordset = My_Connection.Execute(My_Query)
Range("D4260").ClearContents
Range("D42").CopyFromRecordset My_Recordset
If My_Connection.State <> 0 Then My_Connection.Close
Set My_Recordset = Nothing
Set My_Connection = Nothing
End Sub
Option Explicit
Sub Unique_2_List()
Dim My_Connection As Object, My_Recordset As Object, My_Query As String
Set My_Connection = VBA.CreateObject("AdoDb.Connection")
My_Connection.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & _
ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;Hdr=No"""
My_Query = "Select Distinct * From [1$D339] Where Not IsNull(F1)"
Set My_Recordset = My_Connection.Execute(My_Query)
Range("D4260").ClearContents
Range("D42").CopyFromRecordset My_Recordset
If My_Connection.State <> 0 Then My_Connection.Close
Set My_Recordset = Nothing
Set My_Connection = Nothing
End Sub