• DİKKAT

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

SQL ile çektiğim stok tablosunda hücre eşitse miktarlarını toplama işlemi ve raporla

Katılım
29 Eylül 2010
Mesajlar
63
Excel Vers. ve Dili
excel 2007 tr
Merhaba arkadaşlar SQL SERVER üzerinden stoklar adı altında tablomdan rapor alıyorum ve excel 20 dk. da bir tablomu güncelliyor.

Ancak yapmak istediği yapamadım bana yardımcı olursanız memnun olurum. Ek olarak excel tablomu ve yapmak istediklerimi ekledim.

Buradan da bahsedeyim stoklar tablomda renklere bölünmüş kumaş çeşitlerim var
ben bu tabloda renkleri aynı olanları otomatik olarak siyah renkli sayfaya eklemesini istiyorum.

ve ben bu stokların içinde 15-20 adet stoğumu özel olarak takip etmek istiyorum
bunuda kendime en sonra özel kod yada karakter yazabileceğim bir hücre ekledim sona bu hücre değerleri aynı olanları tablom sayfasında belirli yere eklemek istiyorum. Yardımlarınızı bekler şimdiden teşekkür ederim..
 

Ekli dosyalar

Merhaba

Kaynağı aldıgın yerde ilgili field için "equal" seçeneğine seçilerek arattırdıgınız verileri excele taşır.Şayet elinizde kurulu bir SQL olmuş olsa daha kolay ilerleyebilirsiniz.

Kod:
Select * from [TabloAdı] where [kolonadi] in('kriter1','kriter2','kriter3')

seçerek ilerleyebilirdiniz.Yada yazarken aklıma geldi excelde dış veri al kısmında queryi düzenle kısmındaki SQL text alanına yukarıdaki SQL kodunu yazarsan da çalışır kanısındayım.

Karısık oldu biraz kusura bakmayınız.
 
Merhaba,

Sorunuzun 1. kısmı için birşeyler yapmaya çalıştım. İlgili renge ait sayfalar silinip yeniden oluşturuluyor (devamına kopyalanması gerekiyorsa ona göre düzenlenebilir kodlar).

Kod:
Sub SayfalaraAktar()
    
    Dim i           As Long, _
        SSat        As Long, _
        Sat         As Long, _
        SKol        As Integer, _
        BKol        As Integer, _
        Secim       As Range, _
        rngAlan     As Range, _
        Liste()     As String, _
        ws          As Worksheet, _
        wsNew       As Worksheet
        
    On Error Resume Next
    Set ws = Sheets(ActiveSheet.Name)
    Range("a1").Activate
        
    Set Secim = Range("K1")
    
    With Application
        .DisplayAlerts = False
        .ScreenUpdating = False
    End With
    
    Sat = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    SKol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column + 1
    BKol = Secim.Column
    
    Set rngAlan = Range(Cells(1, 1), Cells(Sat, SKol - 1))
    
    Columns(BKol).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Cells(1, SKol), Unique:=True
    SSat = Cells(Rows.Count, SKol).End(3).Row
    
    ReDim Liste(SSat - 2)
    
    For i = 2 To SSat
        Liste(i - 2) = Cells(i, SKol)
    Next i
    
    Columns(SKol).Clear
    SSat = Cells(Rows.Count, "A").End(3).Row
    SKol = SKol - 1
    
    Selection.AutoFilter
    
    Sheets(Liste).Delete
    For i = 0 To UBound(Liste)
        Sheets.Add After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = Liste(i)
    Next i
    ws.Select
    
    For i = 0 To UBound(Liste)
        ActiveSheet.Range(Cells(1, 1), Cells(Sat, SKol - 1)).AutoFilter Field:=BKol, Criteria1:=Liste(i)
        Range("A1").CurrentRegion.Copy
    
        Sheets(Liste(i)).Select
        ActiveSheet.Paste
        Cells.EntireColumn.AutoFit
        Range("A1").Select
        ws.Select
    Next i
        
    Selection.AutoFilter
    MsgBox "SAYFALARA AKTARIM TAMAMLANMIŞTIR....", vbInformation, "N. YEŞERTENER.... www.excel.web.tr"
    
End Sub
 

Ekli dosyalar

Nejdet bey verdiğiniz kodlar işime çokk yaradı. teşekkür ederim. Ancak bu kodlar hücre değerleri aynı olanları sayfalıyor. biraz daha eksiğimiz var. Ben en son sütunun yanında bir sütun daha belirledim.Takip etmek istediğim stoklara 1 değerini atadım ve dedim ki =(L1=1)*(C1) L1 = 1'e C1 deki miktarları ver.
daha sonra alt toplam ile satır sonu alt toplamı alabiliriz. Ancak hala net bir çözüm bulumadım.
 

Ekli dosyalar

Son düzenleme:
Nejdet bey verdiğiniz kodlar işime çokk yaradı. teşekkür ederim. Ancak bu kodlar hücre değerleri aynı olanları sayfalıyor. biraz daha eksiğimiz var. Ben en son sütunun yanında bir sütun daha belirledim.Takip etmek istediğim stoklara 1 değerini atadım ve dedim ki =(L1=1)*(C1) L1 = 1'e C1 deki miktarları ver.
daha sonra alt toplam ile satır sonu alt toplamı alabiliriz. Ancak hala net bir çözüm bulumadım.

1. Adım Necdet, Nejdet değil,
2. Özür dilerim dediklerinizden hiçbir şey anlamadım. :)
 
Geri
Üst