• DİKKAT

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

Özet Tabloyu ve Formülleri Makroya Çevirmek

  • Konbuyu başlatan Konbuyu başlatan mekist
  • Başlangıç tarihi Başlangıç tarihi

mekist

Altın Üye
Katılım
13 Ağustos 2008
Mesajlar
355
Excel Vers. ve Dili
Office 365 ProPlus-Türkçe
Merhaba,
Mutabakat için yaptığım özet tablo aracılığı ile sonuca gidebildiğim bir tablo var. İşlemleri daha kısa zamanda yapabilmek için bunu makroya çevirebilir miyiz diye düşündüm.
“A” sütununda yer alan TİP başlığı altındaki harflerin açıklaması;
AB: Bizim ekstremizde ki borç sütunu
AA: Bizim ekstremizde ki alacak sütunu
MA: Karşı tarafın ekstresinde ki alacak sütunu
MB: Karşı tarafın ekstresinde ki borç sütunu
Ekstredeki kayıtları bu şekilde kodlama sebebi herhangi bir rakamı sildiğimizde denkliği bozmamak için.
Buradan yola çıkarak, AB ile AA, AB ile MA, AA ile MB, MB ile MA karşılıklı olarak eşit değerler silindiği zaman denklik bozulmuyor. Çünkü bir borç silinirken bir alacak siliniyor. Bende özet tabloyu bu kurgu üzerine yaptım.
Sayfa 2 ‘de özet tabloyu önce Referansa başlığına göre özetleyim Sayfa 1’e düşeyara eşleşenleri “x” ile işaretleyip süzüp siliyoruz. Daha sonra Özet tabloyu Matbu No başlığına göre özetleyip aynı şekilde siliyoruz.Özet tablonun yanın da yer alan formülde “0,05” değeri numaralar eşleşirse +0,05 ve -0,05 değerleri göz ardı etmesi için yapılmış durumda.
Bir önemli noktada Bizim düzenlediğimiz faturayı karşı taraf 2 defa mükerrer olarak kayıtlara alıyor.özet tabloda bu sıkıntı olmuyor çıkararak işlem yaptırdığımız için eşleşen değer olarak bize vermiyor.
Bir diğer önemli nokta ise bizim düzenlediğimiz faturayı karşı taraf 2 parça halinde kayıtlara alabiliyor.
Bu şekilde çalışan tabloyu makro ile nasıl yapabiliriz.Veriler çok olunca makrolar genelde yavaş çalışıyor.Yavaşlayınca excel kilitleniyor .
Bu konuda yardımcı olabilir misin.z
Şimdiden çok teşekkür ederim.
 

Ekli dosyalar

bir çözüm üretme şansımız yok mudur?
 
yardım bulma şansım yokmu?
 
Merhaba,
Makro kaydet ile aşağıdaki makroyu kaydettim.Bİldiğiniz üzere makro kaydet ile yapıldığı için makro çalışırken yaptığı işlemleri gösteriyor.Sayfalar arası gidip geliyor.İşlem sayısı çoğaldıkça makroda yavaşlar diye düşünüyorum.
Makro kodlarını daha sadeleştirebilme şansımız varmı,
Birde makro çalışırken sadece bizi bekletsin ne yaptığını görmemize gerek yok diye düşünüyorum.
Hızlı çalışması için ne yapabiliriz.
Makrolu çalışma ektedir.
Kod:
Sub özel()
'
' özel Makro
'

'
    Sheets("Sayfa2").Select
    Range("C21").Select
    ActiveSheet.PivotTables("Özet Tablo 1").PivotFields("MATBU NO").Orientation = _
        xlHidden
    With ActiveSheet.PivotTables("Özet Tablo 1").PivotFields("REFENRANS")
        .Orientation = xlRowField
        .Position = 1
    End With
    Range("B16").Select
    ActiveSheet.PivotTables("Özet Tablo 1").PivotCache.Refresh
    Sheets("Sayfa1").Select
    Range("I1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.FillDown
    Range("I2").Select
    Selection.End(xlDown).Select
    Selection.End(xlUp).Select
    Range("I2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("I1").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("I1").Select
    ActiveSheet.Range("$A$1:$L$29999").AutoFilter Field:=9, Criteria1:="x"
    Range("H9").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.EntireRow.Delete
    Range("H1").Select
    Selection.AutoFilter
    Range("I2").Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWindow.SmallScroll Down:=12
    Selection.ClearContents
    Range("H1").Select
    Sheets("Sayfa2").Select
    ActiveSheet.PivotTables("Özet Tablo 1").PivotFields("REFENRANS").Orientation = _
        xlHidden
    With ActiveSheet.PivotTables("Özet Tablo 1").PivotFields("MATBU NO")
        .Orientation = xlRowField
        .Position = 1
    End With
    Range("D18").Select
    ActiveSheet.PivotTables("Özet Tablo 1").PivotCache.Refresh
    ActiveSheet.Next.Select
    Range("J2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.FillDown
    Range("J1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.FillDown
    Range("J2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("J1").Select
    Selection.AutoFilter
    Range("J1").Select
    ActiveSheet.Range("$A$1:$L$29999").AutoFilter Field:=10, Criteria1:="x"
    Range("H2:H30").Select
    Selection.ClearContents
    Selection.EntireRow.Delete
    Range("H1").Select
    Selection.AutoFilter
    Range("I2:J2").Select
    Range("J2").Activate
    Range(Selection, Selection.End(xlDown)).Select
    Selection.ClearContents
    Range("H2").Select
End Sub
 

Ekli dosyalar

Geri
Üst