• DİKKAT

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

Sayfadaki belirli kriterlere uyan değerleri başka bir sayfaya taşıma

  • Konbuyu başlatan Konbuyu başlatan sqoist
  • Başlangıç tarihi Başlangıç tarihi
Katılım
14 Mart 2020
Mesajlar
66
Excel Vers. ve Dili
2010
Daha önce aynı dosya için koşullu biçimlendirme için yardım talebinde bulunmuştum onu çözdüm teşekkür ederim şimdi istediğim şey ise , birim maliyeti yüksek olan satıları özet adında bir sayfaya aktarmak istiyorum örneğin birin maliyeti 50 tl ve üstü

Şimdiden teşekkür ederim



Dosya
 
Pivot Table ile yapmayı denediniz mi ?
 
yok denemedim pek bilgim olmadığı için o konuda biraz araştırayım teşekkür ederim
 
Beceremedim pivot yapmayı yardımcı olacak olan var mı acaba

Teşekkür ederim şimdiden
 
Bence Filtrelemeyi deneyin.
Aradaki boş satırları da silin.
 
Konu bende Necdet Hocam :)
 
Dosyanız Ektedir
 

Ekli dosyalar

İndiremedim altın üyelik istiyor ama şimdi sizin de emeğinize yazık harici bir yere link ekleyin desem ben biraz çözmeye çalışayım.
yine de teşekkür ederim emekleriniz i.in.
 
Kardeşim şimdi denedim çok işime yaradı ama son bir şey sormak istiyorum. Sayfa olarak değil de çalışma sayfası olarak yapabilme şansım var mı 7 gün için ayrı ayrı sayfam var ..
 
Sub CopyRowsBasedOnCriteria()
Dim wsSource As Worksheet
Dim wsSummary As Worksheet
Dim lastRow As Long
Dim i As Long
Dim summaryRow As Long

Set wsSource = ThisWorkbook.Sheets("26012025")
Set wsSummary = ThisWorkbook.Sheets.Add
wsSummary.Name = "Özet Sayfa"
lastRow = wsSource.Cells(wsSource.Rows.Count, "H").End(xlUp).Row
summaryRow = 1
For i = 1 To lastRow
If wsSource.Cells(i, 8).Value >= 50 Then
wsSource.Rows(i).Copy wsSummary.Rows(summaryRow)
summaryRow = summaryRow + 1
End If
Next i

Set wsSource = ThisWorkbook.Sheets("27012025")
Set wsSummary = ThisWorkbook.Sheets.Add
wsSummary.Name = "Özet Sayfa"
lastRow = wsSource.Cells(wsSource.Rows.Count, "H").End(xlUp).Row
summaryRow = 1
For i = 1 To lastRow
If wsSource.Cells(i, 8).Value >= 50 Then
wsSource.Rows(i).Copy wsSummary.Rows(summaryRow)
summaryRow = summaryRow + 1
End If
Next i

Set wsSource = ThisWorkbook.Sheets("28012025")
Set wsSummary = ThisWorkbook.Sheets.Add
wsSummary.Name = "Özet Sayfa"
lastRow = wsSource.Cells(wsSource.Rows.Count, "H").End(xlUp).Row
summaryRow = 1
For i = 1 To lastRow
If wsSource.Cells(i, 8).Value >= 50 Then
wsSource.Rows(i).Copy wsSummary.Rows(summaryRow)
summaryRow = summaryRow + 1
End If
Next i

Set wsSource = ThisWorkbook.Sheets("29012025")
Set wsSummary = ThisWorkbook.Sheets.Add
wsSummary.Name = "Özet Sayfa"
lastRow = wsSource.Cells(wsSource.Rows.Count, "H").End(xlUp).Row
summaryRow = 1
For i = 1 To lastRow
If wsSource.Cells(i, 8).Value >= 50 Then
wsSource.Rows(i).Copy wsSummary.Rows(summaryRow)
summaryRow = summaryRow + 1
End If
Next i

Set wsSource = ThisWorkbook.Sheets("30012025")
Set wsSummary = ThisWorkbook.Sheets.Add
wsSummary.Name = "Özet Sayfa"
lastRow = wsSource.Cells(wsSource.Rows.Count, "H").End(xlUp).Row
summaryRow = 1
For i = 1 To lastRow
If wsSource.Cells(i, 8).Value >= 50 Then
wsSource.Rows(i).Copy wsSummary.Rows(summaryRow)
summaryRow = summaryRow + 1
End If
Next i

Set wsSource = ThisWorkbook.Sheets("31012025")
Set wsSummary = ThisWorkbook.Sheets.Add
wsSummary.Name = "Özet Sayfa"
lastRow = wsSource.Cells(wsSource.Rows.Count, "H").End(xlUp).Row
summaryRow = 1
For i = 1 To lastRow
If wsSource.Cells(i, 8).Value >= 50 Then
wsSource.Rows(i).Copy wsSummary.Rows(summaryRow)
summaryRow = summaryRow + 1
End If
Next i
End Sub

Bu şekil çoğaltım ama bu seferde ilk makrodan sonra sayfa var hatası alıyorum ama bu manuel bir çözüm oluyor. aktar dediğimde 7 sayfayıda tek sayfada olsun istiyorum yapabilir miyiz
 
tamam bakıyorum mesajınızı yeni gördüm teşekkür ederim
inceledim fakat benim istediğim sonuç bu değil ellerinize sağlık bu çalışma da çok iyi olmuş. Benim istediğim şu
catalinastrap arkadaşımızın yaptığı çalışma tek sayfada çok güzel oldu ben bunu tek makrado 7 sayfaya birden yapıp bulduğu maliyeti 50 den fazla olan malzemeleri bir sayfada toplamak
 
Ne yaptıysam olmadı ayrı ayrı modül yapmaya çalıştım yine olmadı
 
Sanırım ben yanlış anladım, yukarıda verdiğim link bu isteğinizi karşılamıyor.
7 sayfanın yapısı da aynı mı?
 
Yanıt gelmedi.
Aşağıdaki kodlar sayfaların aynı yapıda olması ve sadece Özet ve veri sayfaların olması gerekir.

Özet sayfası yoksa oluşturunuz. Kodda bunları kontrol etmedim.

Kod:
Sub Listele()

Dim sh  As Worksheet
Dim arr As Variant
Dim i   As Long
Dim j   As Long
Dim c   As Integer
Dim shO As Worksheet
Dim sut As Range

On Error Resume Next
Set sut = Application.InputBox("Hangi Sütunda İşlem Yapılacaksa O sütunu ya da o sütunda bir hücre seçiniz", "Sütun Seçimi", Range("H1").Address, Type:=8)

If sut Is Nothing Then
    MsgBox "Sütun Seçmediniz..."
    Exit Sub
End If

Set shO = Sheets("Özet")
shO.Cells.ClearContents

For Each sh In Worksheets
    If Not sh.Name = shO.Name Then
        i = sh.Cells(Rows.Count, "H").End(3).Row
        arr = sh.Range("A1:J" & i).Value
        j = 1
        For i = 2 To UBound(arr, 1)
            If arr(i, sut.Column) >= 50 Then
                j = j + 1
                For c = 1 To UBound(arr, 2)
                    arr(j, c) = arr(i, c)
                Next c
            End If
        Next i
        i = shO.Cells(Rows.Count, "F").End(3).Row + 2
        If i = 3 Then i = 1
        shO.Range("A" & i).Resize(j, UBound(arr, 2)) = arr
        If i > 1 Then shO.Rows(i).Delete
    End If
Next sh

With shO
    .Select
    .Cells.EntireColumn.AutoFit
End With
MsgBox "İşlem Tamamdır....."

End Sub
 
Son düzenleme:
18 nolu mesajdaki kodları denediniz mi?
 
Geri
Üst