• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

kim ne satmış

  • Konbuyu başlatan Konbuyu başlatan irfem4
  • Başlangıç tarihi Başlangıç tarihi

irfem4

Altın Üye
Katılım
30 Kasım 2010
Mesajlar
193
Excel Vers. ve Dili
2010 tr
örnek dosyada belirttiğim gibi kimin hangi ürünleri sattığını listelemem gerekiyor. ama beceremedim. formül ile yapılabilir mi yardım eder misiniz.
 

Ekli dosyalar

PivotTable ile örnek.
239877
239878
 
Tabloda herhangi bir hücreyi seçtiğiniz zaman PivotTable Analiz sekmesi aktif olur. Burada Yenile ya da Tümünü Yenile komutlarını kullanarak tabloyu güncelleyebilirsiniz.
239883

Makro ile güncellemek için ise
Kod:
ActiveWorkbook.RefreshAll
satırını kullanabilirsiniz.
 
Sonuçlar "Sayfa2" de gösterilmek üzere VBA ile alternatif;

C#:
Sub Test()
    'Haluk 10/10/2022
    'sa4truss@gmail.com
    '
    Dim myDB As String, adoCN As Object, strSql As String, RS As Object
    
    Const adOpenDynamic = 1
    Const adLockOptimistic = 3
    
    myDB = ThisWorkbook.FullName
    
    Sheets("Sayfa2").Cells.Clear
    
    Sheets("Sayfa2").Range("A1:C1") = Array("ADI", "MİKTAR", "ÜRÜN")
    
    Set adoCon = CreateObject("ADODB.Connection")
    Set RS = CreateObject("ADODB.RecordSet")
    
    adoCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
                 myDB & ";Extended Properties=""Excel 12.0;HDR=Yes"""
                    
    strSql = "Select [ADI], [ÜRÜN], Sum([MİKTAR (TON)]) From [Sayfa1$] Group By [ADI], [ÜRÜN]"
            
    
    RS.Open Source:=strSql, ActiveConnection:=adoCon, CursorType:=adOpenDynamic, LockType:=adLockOptimistic
    
    Sheets("Sayfa2").Range("A2").CopyFromRecordset RS
    
    RS.Close
    Set RS = Nothing
    Set adoCon = Nothing
End Sub
 
Sonuçlar "Sayfa2" de gösterilmek üzere VBA ile alternatif;

C#:
Sub Test()
    'Haluk 10/10/2022
    'sa4truss@gmail.com
    '
    Dim myDB As String, adoCN As Object, strSql As String, RS As Object
   
    Const adOpenDynamic = 1
    Const adLockOptimistic = 3
   
    myDB = ThisWorkbook.FullName
   
    Sheets("Sayfa2").Cells.Clear
   
    Sheets("Sayfa2").Range("A1:C1") = Array("ADI", "MİKTAR", "ÜRÜN")
   
    Set adoCon = CreateObject("ADODB.Connection")
    Set RS = CreateObject("ADODB.RecordSet")
   
    adoCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
                 myDB & ";Extended Properties=""Excel 12.0;HDR=Yes"""
                   
    strSql = "Select [ADI], [ÜRÜN], Sum([MİKTAR (TON)]) From [Sayfa1$] Group By [ADI], [ÜRÜN]"
           
   
    RS.Open Source:=strSql, ActiveConnection:=adoCon, CursorType:=adOpenDynamic, LockType:=adLockOptimistic
   
    Sheets("Sayfa2").Range("A2").CopyFromRecordset RS
   
    RS.Close
    Set RS = Nothing
    Set adoCon = Nothing
End Sub
teşekkür ederim. emeğinize sağlık
 
t
Tabloda herhangi bir hücreyi seçtiğiniz zaman PivotTable Analiz sekmesi aktif olur. Burada Yenile ya da Tümünü Yenile komutlarını kullanarak tabloyu güncelleyebilirsiniz.

Makro ile güncellemek için ise
Kod:
ActiveWorkbook.RefreshAll
satırını kullanabilirsiniz.
teşekkür ederim. emeğinize sağlık. haluk beyin VBA kodu daha kullanışlı gibi.
 
Sonuçlar "Sayfa2" de gösterilmek üzere VBA ile alternatif;

C#:
Sub Test()
    'Haluk 10/10/2022
    'sa4truss@gmail.com
    '
    Dim myDB As String, adoCN As Object, strSql As String, RS As Object
   
    Const adOpenDynamic = 1
    Const adLockOptimistic = 3
   
    myDB = ThisWorkbook.FullName
   
    Sheets("Sayfa2").Cells.Clear
   
    Sheets("Sayfa2").Range("A1:C1") = Array("ADI", "MİKTAR", "ÜRÜN")
   
    Set adoCon = CreateObject("ADODB.Connection")
    Set RS = CreateObject("ADODB.RecordSet")
   
    adoCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
                 myDB & ";Extended Properties=""Excel 12.0;HDR=Yes"""
                   
    strSql = "Select [ADI], [ÜRÜN], Sum([MİKTAR (TON)]) From [Sayfa1$] Group By [ADI], [ÜRÜN]"
           
   
    RS.Open Source:=strSql, ActiveConnection:=adoCon, CursorType:=adOpenDynamic, LockType:=adLockOptimistic
   
    Sheets("Sayfa2").Range("A2").CopyFromRecordset RS
   
    RS.Close
    Set RS = Nothing
    Set adoCon = Nothing
End Sub
Haluk Bey makroyu çalıştırınca diğer hücrelerdeki veri ve formüller siliniyor. makroyu sadece a,b ve c sütunları için çalıştıramaz mıyız.
 
Bu satırı revize etmelisiniz.

Sheets("Sayfa2").Cells.Clear

Aşağıdaki gibi olabilir..

Sheets("Sayfa2").Range("A:C").Clear
 
Sonuçlar "Sayfa2" de gösterilmek üzere VBA ile alternatif;

C#:
Sub Test()
    'Haluk 10/10/2022
    'sa4truss@gmail.com
    '
    Dim myDB As String, adoCN As Object, strSql As String, RS As Object
   
    Const adOpenDynamic = 1
    Const adLockOptimistic = 3
   
    myDB = ThisWorkbook.FullName
   
    Sheets("Sayfa2").Cells.Clear
   
    Sheets("Sayfa2").Range("A1:C1") = Array("ADI", "MİKTAR", "ÜRÜN")
   
[COLOR=rgb(184, 49, 47)][B]    Set adoCon = CreateObject("ADODB.Connection")[/B][/COLOR]
Haluk hocam     Set RS = CreateObject("ADODB.RecordSet")
   
    adoCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
                 myDB & ";Extended Properties=""Excel 12.0;HDR=Yes"""
                   
    strSql = "Select [ADI], [ÜRÜN], Sum([MİKTAR (TON)]) From [Sayfa1$] Group By [ADI], [ÜRÜN]"
           
   
    RS.Open Source:=strSql, ActiveConnection:=adoCon, CursorType:=adOpenDynamic, LockType:=adLockOptimistic
   
    Sheets("Sayfa2").Range("A2").CopyFromRecordset RS
   
    RS.Close
    Set RS = Nothing
    Set adoCon = Nothing
End Sub

Haluk hocam bu kısımda hata alıyorum
Set adoCon = CreateObject("ADODB.Connection")

Sebebi hakkında bilgilendirir misiniz?
Teşekkür ederim.
 

Ekli dosyalar

  • 123.png
    123.png
    28.9 KB · Görüntüleme: 7
Resimdeki hata normal şartlarda değişken tanımlanmadığı zaman olur ama, görüldüğü gibi sözkonusu "adoCon" değişkeni kodun başında "Object" olarak deklare edilmiş durumda.

Bu durumda, sadece tahmin yürütebilirim...... VBA penceresinde menülerde Tools > References bölümünü inceleyin. Eğer orada kullanılan referanslardan bazılarında "Missing" ifadesi varsa, o referansları kaldırın, dosyayı kaydedip tekrar deneyin....

.
 
Resimdeki hata normal şartlarda değişken tanımlanmadığı zaman olur ama, görüldüğü gibi sözkonusu "adoCon" değişkeni kodun başında "Object" olarak deklare edilmiş durumda.

Bu durumda, sadece tahmin yürütebilirim...... VBA penceresinde menülerde Tools > References bölümünü inceleyin. Eğer orada kullanılan referanslardan bazılarında "Missing" ifadesi varsa, o referansları kaldırın, dosyayı kaydedip tekrar deneyin....

.

Haluk hocam Reference kısmında seçili olanlarla ilgili ekran görüntüsünü ekledim. "Missing" ifadesi yok.
 

Ekli dosyalar

  • 2023-07-29_21h34_01.png
    2023-07-29_21h34_01.png
    78.6 KB · Görüntüleme: 3
Şu anda aklıma başka birşey gelmiyor maalesef...

.
 
Merhaba,
Değişken tanımlamada küçük bir harf hatası var gibi.
Hata veren satırdaki adoCon ifadesini adoCN olarak değiştirip dener misiniz?
 
Geri
Üst