Soru Makro Kaydet

Katılım
13 Kasım 2009
Mesajlar
337
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
23-02-2025
Merhaba,

Makro kaydet ile formülü kaydettim,

Sub Makro1()
Range("H2").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:RC[-1])"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H500"), Type:=xlFillDefault
Range("H2:H500").Select
End Sub

fakat otomatik çalıştıramadım, kodu butona bağlamadan çalıştırmam mümkün mü?
 
Katılım
13 Kasım 2009
Mesajlar
337
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
23-02-2025

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,224
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Sayfanın kod bölümüne;

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("a2:g500")) Is Nothing Then
sat = Target.Row
Cells(sat, "h") = ""
Cells(sat, "h") = WorksheetFunction.Sum(Range("d" & sat & ":g" & sat))
End If
End Sub

Kodlarını ekleyerek deneyin.
İyi çalışmalar.
 
Katılım
13 Kasım 2009
Mesajlar
337
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
23-02-2025
İlginize teşekkür ederim, benim yazdığım kodu otomatik hale getirmek mümkün değil mi? Elimde çok formül var makro kaydet ile kaydetip kendim yapmak istiyorum, her formülü buraya yazarak yardım istemek istemiyorum açıkçası.
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,224
Excel Vers. ve Dili
Excel-2003 Türkçe
Bu şekilde deneyin
(Makronun ilk iki satırı ile sayfanın a2:g500 aralığında işlem varsa makro tetiklenir)

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("a2:g500")) Is Nothing Then
Range("H2").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:RC[-1])"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H500"), Type:=xlFillDefault
Range("H2:H500").Select
End If
End Sub
 

Korhan Ayhan

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

Kod:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Not Intersect(Target, Range("A2:G500")) Is Nothing Then
        Range("H2:H500").Formula = "=SUM(D2:G2)"
    End If
End Sub
 
Üst