• DİKKAT

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

SATIR EKLE MAKROSU

Katılım
26 Aralık 2008
Mesajlar
1,145
Excel Vers. ve Dili
EXCEL 2016 TÜRKÇE
Merhaba arkadaşlar ekte gönderdiğim kod da A kolonuna veri girdiğimde alta satır ekliyor.
sorun yok fakat A kolonuna veri girip enter tuşuna bastığımda A satırındaki förmüllerimi siliyor bu förmüller silinmesin diye ne yapmalıyım.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo son
If Intersect(Target, Range("SonSatır")) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
Target.EntireRow.Insert Shift:=xlDown
Target.Offset(-1, 0) = Target
Target.Offset(-1, 1).Select
Target.Value = ""
son:
End Sub
 
Private Sub Worksheet_Change(ByVal Target As Range)
Dim affRows As Range
On Error GoTo son
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Set affRows = Intersect(Target.EntireRow, Range("B:D"))
If Not affRows Is Nothing Then
affRows.ClearContents
End If
Target.Offset(, 1).Resize(, 3).Formula = "formülünüzü buraya yazınız" ' Your formulas go here
son:
Application.EnableEvents = True
End Sub

B3, C3 ve D3 hücrelerindeki formülleriniz ekleyebilirsiniz
 
Son düzenleme:
Merhaba.

Dosyanızı görmediğim için net yanıt veremiyorum fakat sanırım aşağıdaki alternatif kod işinizi görecektir.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("SonSatır")) Is Nothing And Target.Value <> "" Then
        Target(2, 1).EntireRow.Insert
    End If
End Sub
 
Merhaba gönderdiğin kod a kolonuna veri girerken hata veriyor.
benim istediğim
A kolonuna veri girdiğimde alta satır ekliyor.
örneğin A3 hücresine veri girildiğinde B3, C3 , D3 hücrelerindeki förmüller siliniyor.
eklediği satırda sorun yok
 
Private Sub Worksheet_Change(ByVal Target As Range)
Dim affRows As Range
On Error GoTo son
If Intersect(Target, Me.Columns("A")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Set affRows = Intersect(Target.EntireRow, Me.Range("B:D"))
If Not affRows Is Nothing Then
affRows.ClearContents
End If
Target.Offset(, 1).Resize(, 3).Formula = Target.Offset(-1, 1).Resize(, 3).Formula
son:
Application.EnableEvents = True
End Sub

Deneyiniz
 
Son düzenleme:
tekrar merhabalar ekte gönderdiğim dosyada toplam satırının üzerine satır ekliyor dosyadan anlaşılacağı üzere A9 hücresine veri girdiğimde bir toplam satırının üzerine satır ekliyor ancak A9 satırındaki renkli hücreler förmüllü bu formülleri siliyor.
 

Ekli dosyalar

Private Sub Worksheet_Change(ByVal Target As Range)
Dim affRows As Range
On Error GoTo son
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Set affRows = Intersect(Target.EntireRow, Range("B:D"))
If Not affRows Is Nothing Then
affRows.ClearContents
End If
Target.Offset(, 1).Resize(, 3).Formula = "formülünüzü buraya yazınız" ' Your formulas go here
son:
Application.EnableEvents = True
End Sub

B3, C3 ve D3 hücrelerindeki formülleriniz ekleyebilirsiniz
Target.Offset(, 1).Resize(, 3).Formula = "formülünüzü buraya yazınız" ben bu hücrelere düşeyara ile veri çekiyorum
 
Deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Target(2, 1) = "TOPLAM" And Target.Value <> "" Then
        Target(2, 1).EntireRow.Insert
        Cells(Target.Row, "C").FillDown
        Cells(Target.Row, "E").FillDown
    End If
    Application.EnableEvents = True
End Sub
 
Cevap veren tüm arkadaşkara teşekkür ederim 9 nolu mesaj işimi gördü.
Kalın sağlıcakla.
 
Arkadaşlar 1 soru daha sorabilirmiyim formüllü hücreleri korumaya aldığım zaman kod çalışmıyor nasıl çalıştırabilirim.
 
Sayfa adlarını ve şifreleri düzenleyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Worksheets("SayfaAdı").Unprotect "şifre"
    If Target(2, 1) = "TOPLAM" And Target.Value <> "" Then
        Target(2, 1).EntireRow.Insert
        Cells(Target.Row, "C").FillDown
        Cells(Target.Row, "E").FillDown
    End If
    Worksheets("SayfaAdı").Protect "şifre"
    Application.EnableEvents = True
End Sub
 
Geri
Üst