Makro ile Sadeleştirme

Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
Merhaba Arkadaşlar;

Excel'e yeni gönül verdim ve sitenizi yeni keşfettim çok teşekkür ederim böyle bir imkan sağladığınız için.

Ek ile yolladığım dosyada Ham Rapor sayfasındaki kırmızı ile belirttiğim satırları, Calismalar sayfasındaki isimlerin karsısına getirmek istiyorum.

Bunu nasıl makro yada formulle yapabilirim yarcımcı olursanız çok sevinirim.


(Dosya boyutu 500kb altına düşürmek için biraz satır sildim)
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Ham Rapor kısmında mükerrer isimler (sanırım) bulunmakta ...

Aşağıdaki kodu bir butona atayıp çalıştırınız. Sonuçlar istediğiniz gibi mi bilemiyorum.

Kod:
Sub DENEME()
    Dim bul As Range
    Dim adres As String
    Dim i As Integer
    Dim sh As Worksheet
    i = 3
    Set sh = Sheets("Ham Rapor")
    Sheets("Calismalar").Range("C4:I5000").ClearContents
    Set bul = sh.Columns(1).Find("Agent:", Lookat:=xlWhole)
    If Not bul Is Nothing Then
        adres = bul.Address
        On Error Resume Next
        Do
            i = i + 1
            With Sheets("Calismalar")
                .Cells(i, 3) = sh.Cells(bul.Row, 2)
                .Cells(i, 5) = sh.Cells(bul.Row + 10, "R")
                .Cells(i, 6) = sh.Cells(bul.Row + 10, "X")
                .Cells(i, 7) = sh.Cells(bul.Row + 10, "AD")
                .Cells(i, 8) = sh.Cells(bul.Row + 10, "AJ")
                .Cells(i, 9) = sh.Cells(bul.Row + 10, "AN")
            End With
                        
            Set bul = sh.Columns(1).FindNext(bul)
        Loop While Not bul Is Nothing And adres <> bul.Address
        On Error GoTo 0
    End If
    Set bul = Nothing
    Set sh = Nothing
End Sub
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Eğer isimler tek sefer raporlansın derseniz, bu sefer aşağıdakileri kullanabilirsiniz.

Kod:
Sub DENEME2()
    Dim bul As Range
    Dim adres As String
    Dim i As Integer
    Dim sh As Worksheet
    Dim col As New Collection
    i = 3
    Set sh = Sheets("Ham Rapor")
    Sheets("Calismalar").Range("C4:I5000").ClearContents
    Set bul = sh.Columns(1).Find("Agent:", Lookat:=xlWhole)
    
    If Not bul Is Nothing Then
        adres = bul.Address
        On Error Resume Next
        Do
            col.Add sh.Cells(bul.Row, 2), sh.Cells(bul.Row, 2)
            If Err.Number = 0 Then
                i = i + 1
                With Sheets("Calismalar")
                    .Cells(i, 3) = sh.Cells(bul.Row, 2)
                    .Cells(i, 5) = sh.Cells(bul.Row + 10, "R")
                    .Cells(i, 6) = sh.Cells(bul.Row + 10, "X")
                    .Cells(i, 7) = sh.Cells(bul.Row + 10, "AD")
                    .Cells(i, 8) = sh.Cells(bul.Row + 10, "AJ")
                    .Cells(i, 9) = sh.Cells(bul.Row + 10, "AN")
                End With
            End If
            Err.Number = 0
            
            Set bul = sh.Columns(1).FindNext(bul)
        Loop While Not bul Is Nothing And adres <> bul.Address
        On Error GoTo 0
    End If
    
   
    Set bul = Nothing
    Set sh = Nothing
End Sub
 
Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
&#199;ok te&#351;ekk&#252;r ederim hemen deniyorum.
 
Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
Ferhat bey yard&#305;m&#305;n&#305;z i&#231;in &#246;ncelikle ne kadar te&#351;ekk&#252;r etsem azd&#305;r.

G&#246;nderdi&#287;im dosyada sizin formulunuz (2. mesaj&#305;n&#305;zdaki) ile sonuca ula&#351;t&#305;m.

Yaln&#305;z bu dosya sadece 01 nisan ile 08 nisan aras&#305;ndaki veri ile &#231;al&#305;&#351;&#305;yor, 01-03 nisan ekledi&#287;imde veya 23-29 mart ekledi&#287;imde &#231;al&#305;&#351;t&#305;ramad&#305;m.

Ham rapora 01 nisan ile 03 nisan&#305;n verisini koydugumda isimleri at&#305;yor ama de&#287;erleri vermiyor. Bu raporu her g&#252;n 01 nisan 1-3-5-8-9-10-11-12.... her g&#252;n alaca&#287;&#305;m ertesi g&#252;n bunun &#231;al&#305;&#351;mas&#305;n&#305; nas&#305;l sa&#287;layabilirim. Dosya boyutu buraya s&#305;&#287;mad&#305;&#287;&#305; i&#231;in ilk dosyada biraz sat&#305;r silmi&#351;tim. Bu hataya d&#252;&#351;memek i&#231;in 2-3 er g&#252;nl&#252;k 3 dosya ekliyorum tekrar yarc&#305;m&#305;n&#305;z&#305; rica ediyorum.

Olmayacak bir&#351;ey istiyorsam dahi yard&#305;mlar&#305;n&#305;z i&#231;in tekrar tekrar te&#351;ekk&#252;r ederim.

Ho&#351;&#231;akal&#305;n.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Son g&#246;nderdi&#287;iniz dosyalarda da, kodlar&#305;n &#231;al&#305;&#351;abilmesi i&#231;in, ayn&#305; sayfa isimlerini kullanmal&#305;s&#305;n&#305;z. Yani "Ham Rapor" ve "Calismalar" diye iki tane sayfa olmal&#305; ....

Ben ilk g&#246;nderdi&#287;iniz &#246;rnek &#252;zerinden gitti&#287;im i&#231;in sayfa isimlerini bu &#351;ekilde kulland&#305;m. Ba&#351;ka bir y&#246;ntem uygulamak istiyorsan&#305;z, ona g&#246;re kodlayal&#305;m.
 
Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
Ferhat bey &#351;u anda ald&#305;&#287;&#305;m ham rapor bu &#351;ekilde ben di&#287;erinde olmas&#305;n&#305; istedi&#287;im &#351;ekli vermi&#351;tim sizi yan&#305;ltaca&#287;&#305;n&#305; d&#252;&#351;&#252;nmeden.

Diyelimki 1-3 nisan&#305; Ham Rapor ve Calismalar olacak &#351;ekilde 2 sayfaya b&#246;ld&#252;k ve sorunsuz &#231;al&#305;&#351;t&#305;.

2 g&#252;n sonra Ham Rapor k&#305;sm&#305;nda olan&#305;n &#252;zerinde 1-7 nisan&#305; yap&#305;&#351;t&#305;rsam Calismalar sekmesinde 1-7 nisan&#305; g&#246;rebilmek istiyorum.

Benim elimde bir taslak olsun ben raporu &#231;ekip ekledik&#231;e Calismalar sekmesindeki de&#287;erler son ekledi&#287;im rapora g&#246;re kendisini d&#252;zeltsin.

Tam olarak anlatmay&#305; ba&#351;arabilmi&#351;imdir umar&#305;m.

Te&#351;ekk&#252;rler.
 
Son düzenleme:
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Olay&#305;n ne oldu&#287;unu tam olarak anlayamamakla birlikte, &#351;unu s&#246;yleyebirim.

"Ham Rapor" sayfas&#305;na ayn&#305; formatta istedi&#287;iniz kadar bilgi y&#252;kleyebilirsiniz. Excel'in son sat&#305;r&#305; doluncaya kadar sayfan&#305;n &#252;st&#252;ne ham verilerinizi ilave edebilirsiniz.

Makroyu &#231;al&#305;&#351;t&#305;rd&#305;&#287;&#305;n&#305;z zaman, "Calismalar" sayfasina, "Ham Rapor" sayfasinda ne kadar veri okunduysa o kadar veri gelecektir. (Tabi m&#252;kerrer kay&#305;tlar elendikten sonra ...)

Ama &#351;unu s&#246;yleyeyim, yazd&#305;&#287;&#305;m&#305;z makro ile 1-3 aras&#305; al&#305;nan rapor ile 1-7 aras&#305;ndaki rapor aras&#305;nda bir fark g&#246;remeyeceksiniz ... En az&#305;ndan yeni eklenen isimler yoksa ... Benim anlad&#305;klar&#305;mdan tahmin edebildi&#287;im bu ...
 
Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
Ferhat bey sabrınız ve hızınız için teşekkür ederim.

Olayı biraz açıklamam gerekiyor sanırım. Bu veriler bir çağrı merkezinin santralinin ham raporudur. Yapmak istediğim Mükerrer kayıtları silmek ve günlük olarak arkadaşlara çalışma sürelerini sadeleştirip göstermektir.

Şimdi eklediğim dosyada 1-4 nisan arasında çalışan arkadaşların verileri var.
Dosyayı iki sayfaya ayırdım Ham rapor ve Calismalar olarak.Ham rapor sayfasında kırmızı ile belirtilen bölmeyi her arkadaş için Calismalar sayfasında göstermek istiyorum.

Konuyu açtığımdaki format ham rapor formatı değil buraya yollanabilmek için bazı satır ile sutunları silinmiş bir formattı ve bu yüzden ertesi günün raporunu eklediğimde sanıyorum makro çalışmadı. Bu son yolladığım dosya tamamen ham rapordur 2. mesajınızdaki gibi ayarlarsanız diğerleride çalışacaktır sanıyorum.

Umarım açıklayabilmişimdir, istediğini anlatabilmek bile öğrenmeyi gerektiriyor.

Yardımlarınız için çok teşekkürler.
 
Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
Dosyayı eklemeyi unutmuşum özür dilerim
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Dosyayı inceleyiniz. Ham Rapor sayfasındaki buton basmanız gerekiyor.

Daha sonra da 1-7 tarihli raporu alın ve bunun üzerine yapıştın ve deneyin. Sanırım, bu ham çağrı raporları kümülatif sonuçları gösterdiğinden, üretilen rapor da doğru olacaktır.

NOT : Dosyalarınızı sıkıştırarak (zip, rar gibi...) gönderirseniz, forum alanından da tasarruf etmiş oluruz :)
 
Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
Ferhat Bey,

Dosyay&#305; &#351;imdi ald&#305;m a&#231;t&#305;m ve kullan&#305;yorum, sorunda yok. Size nas&#305;l te&#351;ekk&#252;r etsem azd&#305;r.

Ellerinize g&#246;zlerinize sa&#287;l&#305;k.

Ke&#351;ke b&#246;yle haz&#305;r olmasa ben &#246;&#287;renip kendim yapsam. Haz&#305;rc&#305;l&#305;&#287;&#305; hi&#231; sevmiyorum ama bunun mant&#305;&#287;&#305;n&#305;n anlat&#305;lmas&#305;da uzunca bir i&#351;tir san&#305;yorum.

Excel'e yeni g&#246;n&#252;l veren birisi olarak bu siteninde m&#252;davimlerinden olaca&#287;&#305;m kesin.

Sayg&#305;lar&#305;mla.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Rica ederim, &#304;&#351;inize yarad&#305;&#287;&#305;na sevindim.

&#214;&#287;renme konusunda aceleci davranmay&#305;n. Yoksa kafan&#305;z iyice kar&#305;&#351;&#305;r ...

Yabanc&#305; bir dili &#246;&#287;renmek i&#231;in bile, &#246;nce derdinizi anlatacak kelimeyi ve daha sonra da bir miktar grameri &#246;&#287;renmelisiniz.

VBA'da da ayn&#305; &#351;ey ge&#231;erli ... Kelimeler var ve bu kelimelere -mesela- komut deniyor. Bu kelimeleri belirli bir kurala g&#246;re ard&#305; ard&#305;na dizerek c&#252;mle olu&#351;turmaya "gramer bilgisi" diyebiliriz. Gramerleri do&#287;ru kulland&#305;&#287;&#305;n&#305;zda bir s&#252;r&#252; c&#252;mle kurabiliyorsunuz ve buna da yukar&#305;daki gibi "VBA kodu" deniyor.

Yava&#351; yava&#351; bunlar&#305; &#246;&#287;renmeye ve a&#351;inal&#305;k kazanmaya &#231;al&#305;&#351;&#305;n. Forumu takip edin ... &#304;lk ba&#351;larda "Makro Kaydet" komutu siz &#231;ok &#351;ey kazand&#305;racakt&#305;r.

"Makro Kaydet", VBA'n&#305;n terc&#252;man&#305;d&#305;r :)
 
Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
&#199;ok te&#351;ekk&#252;r ederim tekrar yard&#305;mlar&#305;n&#305;z ve tavsiyeleriniz i&#231;in.

Sayg&#305;lar&#305;mla...
 
Üst