Çözüldü Listeden Özet Rapor alma

  • Konuyu başlatan Konuyu başlatan KemalIst
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

KemalIst

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Arkadaşlar bir listem var ve buradan diğer sayfaya bilgiler alarak özet rapor oluşturmak.Geniş açıklama örnek dosyada
 

Ekli dosyalar

Ömer Bey başka bir yerden aşağıdaki makro geldi paylaşmak istedim:
Sub test()
Dim s1 As Worksheet, s2 As Worksheet
Dim a(), b(), d As Object, say As Long, y As Byte, sat As Long
Dim i As Long, kosul As String, krt As String
Set s1 = Sheets("FASON")
Set s2 = Sheets("RAPOR")
Set d = CreateObject("scripting.dictionary")
kosul = "FASON"
s2.Range("A3:J" & Rows.Count).Clear
a = s1.Range("B3:M" & s1.Cells(Rows.Count, 2).End(3).Row).Value
ReDim b(1 To UBound(a), 1 To 10)
For i = 1 To UBound(a)
If kosul = a(i, 1) Then
krt = a(i, 2)
If Not d.exists(krt) Then
d(krt) = d.Count + 1
say = d.Count
b(say, 1) = krt
End If
sat = d(krt)
For y = 2 To 9
b(sat, y) = b(sat, y) + a(i, y + 3)
b(sat, 10) = b(sat, 10) + a(i, y + 3)
Next y
End If
Next i
If say > 0 Then
For i = 1 To say
For y = 2 To 10
b(say + 1, y) = b(say + 1, y) + b(i, y)
Next y
Next i
s2.[A3].Resize(say + 1, 10) = b
s2.[A3].Offset(say) = "TOPLAM"
s2.[A3].Resize(say + 1, 10).Borders.Color = 1
s2.[A3].Offset(say).Resize(, 10).BorderAround , xlMedium
End If
MsgBox "İşlem bitti..", vbInformation
End Sub
 
Ms.Excel'in kendi ÖZET TABLO yapısını kullanmanızı önermeliyim. Tablo üzerinde sağ tıklayıp YENİLE demek pratiktir.
Belgenizin makrolu olmasında sakınca yoksa makro da kullanabilirsiniz elbette, tercih sizin.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst