• DİKKAT

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

Satırdaki veriler girildiğinde formülleri alt satıra kopyalama

Katılım
2 Ekim 2005
Mesajlar
104
Excel Vers. ve Dili
Excell 2003
tabloda örneğin C1 hücresine veri girdiğimde C satırındaki formülleri D satırına kopyalaması gerekiyor. D1 hücresine de veri girildiğinde de aynı şekilde formülleri E satırına kopyalayacak. yardımcı olabilirmisiniz
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [c1:e1]) Is Nothing Then Exit Sub
If [c1] > 1 Then
[c2].Copy
[d2].PasteSpecial
End If
If [d1] > 1 Then
[d2].Copy
[e2].PasteSpecial
End If
Application.DataEntryMode = False
End Sub
 
Kusura bakmayın yanlış tarif etmişim sanırım. ben satır doldukça alt satıra kopyalamaya çalışıyordum. yani c1 hücresine veri girildiğinde 1. satırdaki formülleri ikinci satıra c2 hücresine veri girildiğinde 2. satırdaki formülleri 3. satıra kopyalamaya çalışıyorum.bu şekilde sayfanın sonuna kadar gitmeye çalışıyorum.yani formül her satırı doldurduğumda alta bi boş satır daha açmalı. tabii formülleri içeren bir satır.
 
Selamlar,

Örnek bir dosya eklermisiniz.
 
Aslında benim kullanacağım tablo ektekine benzer bir şey. Ekte renkli hücreler veri girdiğim yerler.renksiz hücrelerde formüllü hücreler. örnek olarak ben b4 hücresine veri girdiğimde 4. satırdaki formüllerin bi alt satıra kopyalanması daha doğrusu altına bi satır eklenip sadece formüllerin alta geçirmesi. zira böylece alttaki tablolarda zarar görmez.
 
Selamlar,

Aşağıdaki kodu sayfanızın kod bölümüne uygulayıp denermisiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
    If Target = "" Then Exit Sub
    If Target = "Hesap" Or Target = "Kodu" Then Exit Sub
    If Target <> "" Then
    Application.EnableEvents = False
    Rows(Target.Row).Copy
    Rows(Target.Row + 1).Insert Shift:=xlDown
    Application.CutCopyMode = False
    Application.EnableEvents = True
    End If
End Sub
 
Selamlar,

&#220;stteki mesaj&#305;mdaki kod kopyalama y&#246;ntemi ile &#231;al&#305;&#351;&#305;yordu. A&#351;a&#287;&#305;daki kod ise sat&#305;r ekleyerek form&#252;lleri aktarmaktad&#305;r.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
    If Target = "" Then Exit Sub
    If Target = "Hesap" Or Target = "Kodu" Then Exit Sub
    If Target <> "" Then
    Rows(Target.Row + 1).Insert Shift:=xlDown
    Rows(Target.Row + 1).FormulaR1C1 = Rows(Target.Row).FormulaR1C1
    End If
End Sub
 
evet tam olarak istedi&#287;im bu &#231;ok sa&#287;olun. fakat makro b h&#252;cresine girdi&#287;im veriyide alt sat&#305;ra kopyal&#305;yor. sadece form&#252;lleri kopyalamas&#305; m&#252;mk&#252;n de&#287;ilmi.Ayr&#305;ca ters i&#351;lem olarak b h&#252;cresindeki veriyi sildi&#287;imde b&#252;t&#252;n sat&#305;r&#305; silmesi m&#252;mk&#252;nm&#252;
 
Son düzenleme:
Selamlar,

A&#351;a&#287;&#305;daki kodu denermisiniz. Yaln&#305;z dolu olan sat&#305;rlar&#305;n&#305;zda dikkatli kullan&#305;n h&#252;credeki veriyi sildi&#287;inizde sat&#305;r&#305; siliyor.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
    If Target = "Hesap" Or Target = "Kodu" Then Exit Sub
    If Target = "" Then GoTo SON
    If Target <> "" Then
    Rows(Target.Row + 1).Insert Shift:=xlDown
    Rows(Target.Row + 1).FormulaR1C1 = Rows(Target.Row).FormulaR1C1
    SATIR = ActiveCell.Row
    Range("" & ("B" & SATIR & ":H" & SATIR & ",J" & SATIR & ":M" & SATIR & ",P" & SATIR)).ClearContents
    End If: Exit Sub
SON: Rows(Target.Row).Delete
End Sub
 
Bu silme olay&#305; dedi&#287;iniz gibi sorun &#231;&#305;karabilir g&#246;z&#252;k&#252;yor. Buna bir msgbox ile &#231;&#246;z&#252;m bulabilirmiyiz. yani sat&#305;r&#305; silmeden &#246;nce onay isteyebilir mi acaba
 
Selamlar,

Ekteki örnek dosyayı incelermisiniz. Silme işlemini DELETE tuşuna göre ayarladım. Umarım faydası olur.
 
Son düzenleme:
Çok daha kullanışlı olmuş fakat veriyi girdikten sonra ok tuşlarıyla hareket ettiğimde farklı tepkiler veriyor. mesela b sütununda bir hücreye veri girip yukarı ok tuşuna bastığımda satırı yine tamamen kopyalıyor. sağ veya sol ok tuşuna bastığımda da eski satırı yeni satırın altına atıyor.makro sadece enter tuşuna basıldığında yada aşşağı ok tuşuna basıldığında sorunsuz işliyor.
 
Selamlar,

&#220;stteki mesaj&#305;mdaki dosyay&#305; g&#252;ncelledim. &#304;ncelermisiniz.
 
&#199;ok g&#252;zel olmu&#351;. Kafan&#305;za sa&#287;l&#305;k :)
 
Geri
Üst