nongeyikm
Altın Üye
- Katılım
- 7 Kasım 2005
- Mesajlar
- 505
- Excel Vers. ve Dili
- Office 365 TR-64
- Altın Üyelik Bitiş Tarihi
- 15-04-2025
Arkadaşlar,
Sn. Ömer Beyin hazırlamış olduğu aşağıdaki çalışmayı kullanmaktayım. Sanırım Ömer Bey'in işleri yoğunlu nedeniyle cevap verememekte.
Aşağıdaki makro ile dosya içindeki 31 sayfadan verileri alıp özet icmal sayfası oluşturmaktayım. sayfalardaki veri aralığım B12:AD86. Maalelef verileri alırken hatalı alıyor. makroya göz atabilirmisiniz ?
konunun ilk açıldığı link :
http://www.excel.web.tr/f14/listeleme-hk-t169672.html
Saygılarımla,
Sub ICMAL()
Set i = Sheets("İCMAL")
i.Range("B12:AD86").ClearContents
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
For shf = 1 To Sheets.Count
If Sheets(shf).Name <> "İCMAL" Then _
Sheets(shf).Range("B12:E86").Copy i.Cells(i.Cells(Rows.Count, "YA").End(3).Row + 1, "YA")
Next
ison = i.Cells(Rows.Count, "YA").End(3).Row
i.Range("YA2:YD" & ison).Sort i.[YA1], xlAscending
i.Range("YA2:YD" & ison).RemoveDuplicates Columns:=1, Header:=xlNo
i.Range("YA2:YD" & i.Cells(Rows.Count, "YA").End(3).Row).Copy
i.[B12].PasteSpecial Paste:=xlPasteValues
i.Range("YA2:YD" & ison).Clear
For sat = 12 To i.[B11].End(xlDown).Row
For shf = 1 To ThisWorkbook.Worksheets.Count
If Sheets(shf).Name <> "İCMAL" Then
sson = Sheets(shf).[B11].End(xlDown).Row
If WorksheetFunction.CountIf(Sheets(shf).Range("B12:B" & sson), i.Cells(sat, "B")) > 0 Then _
ssat = WorksheetFunction.Match(i.Cells(sat, "B"), Sheets(shf).Range("B12:B" & sson), 0)
For sut = 6 To 27
If Sheets(shf).Cells(ssat + 11, sut) = "X" Then
say = say + 1
If say > 0 Then i.Cells(sat, sut) = i.Cells(sat, sut) + say: say = 0
ElseIf IsNumeric(Sheets(shf).Cells(ssat + 11, sut)) Then
deg = deg + Sheets(shf).Cells(ssat + 11, sut)
If deg > 0 Then i.Cells(sat, sut) = i.Cells(sat, sut) + deg: deg = 0
End If
Next
End If
Next
Next
i.[A9].Activate
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
MsgBox "Bence tamam", vbInformation, "--------------"
End Sub
Sn. Ömer Beyin hazırlamış olduğu aşağıdaki çalışmayı kullanmaktayım. Sanırım Ömer Bey'in işleri yoğunlu nedeniyle cevap verememekte.
Aşağıdaki makro ile dosya içindeki 31 sayfadan verileri alıp özet icmal sayfası oluşturmaktayım. sayfalardaki veri aralığım B12:AD86. Maalelef verileri alırken hatalı alıyor. makroya göz atabilirmisiniz ?
konunun ilk açıldığı link :
http://www.excel.web.tr/f14/listeleme-hk-t169672.html
Saygılarımla,
Sub ICMAL()
Set i = Sheets("İCMAL")
i.Range("B12:AD86").ClearContents
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
For shf = 1 To Sheets.Count
If Sheets(shf).Name <> "İCMAL" Then _
Sheets(shf).Range("B12:E86").Copy i.Cells(i.Cells(Rows.Count, "YA").End(3).Row + 1, "YA")
Next
ison = i.Cells(Rows.Count, "YA").End(3).Row
i.Range("YA2:YD" & ison).Sort i.[YA1], xlAscending
i.Range("YA2:YD" & ison).RemoveDuplicates Columns:=1, Header:=xlNo
i.Range("YA2:YD" & i.Cells(Rows.Count, "YA").End(3).Row).Copy
i.[B12].PasteSpecial Paste:=xlPasteValues
i.Range("YA2:YD" & ison).Clear
For sat = 12 To i.[B11].End(xlDown).Row
For shf = 1 To ThisWorkbook.Worksheets.Count
If Sheets(shf).Name <> "İCMAL" Then
sson = Sheets(shf).[B11].End(xlDown).Row
If WorksheetFunction.CountIf(Sheets(shf).Range("B12:B" & sson), i.Cells(sat, "B")) > 0 Then _
ssat = WorksheetFunction.Match(i.Cells(sat, "B"), Sheets(shf).Range("B12:B" & sson), 0)
For sut = 6 To 27
If Sheets(shf).Cells(ssat + 11, sut) = "X" Then
say = say + 1
If say > 0 Then i.Cells(sat, sut) = i.Cells(sat, sut) + say: say = 0
ElseIf IsNumeric(Sheets(shf).Cells(ssat + 11, sut)) Then
deg = deg + Sheets(shf).Cells(ssat + 11, sut)
If deg > 0 Then i.Cells(sat, sut) = i.Cells(sat, sut) + deg: deg = 0
End If
Next
End If
Next
Next
i.[A9].Activate
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
MsgBox "Bence tamam", vbInformation, "--------------"
End Sub