Sayfa Temizleme

Bakigemlik

Altın Üye
Katılım
16 Ocak 2013
Mesajlar
679
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
01-12-2028
Merhaba,

Bir butonla sayfalara veri aktarıyorum ve alt toplam aldırıyorum, başka bir butonla aktardığım sayfadaki verilerin ve alt toplamın kaldırılması için nasıl bir kod kullanabilirim,

Kullandığım kod

Kod:
Sub aktar()
    Dim S1 As Worksheet
    Dim S2 As Worksheet
    
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        .DisplayAlerts = False
        .Calculation = xlCalculationManual
    End With
    
    Set S1 = Sheets("İade Öngörü")
    Set S2 = Sheets("İADE MAİL")
    
    S2.Range("A2:E" & S2.Rows.Count).ClearContents
    Son = S1.Cells.Find("*", S1.Range("A1"), , , xlByRows, xlPrevious).Row
    
    S1.Range("E2:E" & Son).Copy S2.Range("A2")
    S1.Range("G2:G" & Son).Copy S2.Range("B2")
    S1.Range("K2:K" & Son).Copy S2.Range("E2")
    S1.Range("C2:C" & Son).Copy S2.Range("G2")
    S1.Range("A2:A" & Son).Copy S2.Range("H2")
    S1.Range("B2:B" & Son).Copy S2.Range("I2")
    
    
    son2 = S2.Cells.Find("*", S1.Range("A1"), , , xlByRows, xlPrevious).Row
    
       
    With S2.Range("C2:C" & Son)
        .Formula = "=+'İade Öngörü'!RC[6]/'İade Öngörü'!RC[5]"
        .Value = .Value
        End With
        
        With S2.Range("f2:f" & Son)
        .Formula = "=RC[-3]*RC[-1]"
        .Value = .Value
        End With
      
      Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(3, 6), _
        Replace:=True, PageBreaks:=False, SummaryBelowData:=True
    ActiveWindow.SmallScroll Down:=-9
             
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .DisplayAlerts = True
        .Calculation = xlCalculationAutomatic
    End With

End Sub
Teşekkürler,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Bu tarz işlemlerin koduna makro kaydet yöntemi ile ulaşabilirsiniz. Bu sayede kod yapılarının nasıl olduğunu da kavrama başlarsınız.

Kod:
Sub Makro1()
    Selection.RemoveSubtotal
End Sub
 

Bakigemlik

Altın Üye
Katılım
16 Ocak 2013
Mesajlar
679
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
01-12-2028
Merhaba,

Bu tarz işlemlerin koduna makro kaydet yöntemi ile ulaşabilirsiniz. Bu sayede kod yapılarının nasıl olduğunu da kavrama başlarsınız.

Kod:
Sub Makro1()
    Selection.RemoveSubtotal
End Sub
Korhan Bey konuyu açmadan önce dediğiniz gibi yaptım ve makro kaydet ile aşağıdaki koda ulaştım, ama bunu bir modüle ekleyince hata aldım ,

Anladığım kadarıyla hata sil butonuna basmadan önce aktif hücre A2-I2 aralığında olması gerekiyor nerede olursa olsun silme işlemi için ne yapmak gerekir,

Kırmızı alan hata verdi

Kod:
ub Makro4()
'
' Makro4 Makro
'

'
    [COLOR="Red"]Selection.RemoveSubtotal[/COLOR]
    Range("A2:I2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.ClearContents
    Range("B1").Select
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selection yerine Range aralığı yazıp deneyin.

Kod:
Sub Makro1()
    Range("A:B").RemoveSubtotal
End Sub
 
Üst