• DİKKAT

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

Soru Makro Kaydet

Katılım
13 Kasım 2009
Mesajlar
337
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
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ü?
 
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.
 
İ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ı.
 
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
 
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
 
Geri
Üst