incsoft
Altın Üye
- Katılım
- 18 Ağustos 2009
- Mesajlar
- 739
- Excel Vers. ve Dili
- Office Ev ve İş 2021 - Türkçe
- Altın Üyelik Bitiş Tarihi
- 12-12-2024
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
Ekli dosyalar
-
37.1 KB Görüntüleme: 1