Koşula Bağlı Satır Aç Makrosu

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba arkadaşlar. Koşula bağlı olarak satır açmak mümkün müdür ? B kolonundaki bir rakam C kolonundaki ve aynı satırdaki rakamdan küçükse bulunduğu satır ile bir alttaki satırın arasına bir satır açılsın ve bulunduğu satır bir aşağı satıra kopyalansın. Örnek dosya ektedir. İlgilenenlere şimdiden teşekkürler.

Not : Mümkünse kod çalıştıktan sonra oluşan duruma göre aynı denkleme uymayan satırlar varsa oralara tekrar satır açma işlemi uygulasın.
 

Korhan Ayhan

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

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

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [B3:B65536]) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If Target <> "" And Target < Target.Offset(0, 1) 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
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Sayın Cost Control, ilginize teşekkürler. Kodu sayfaya uyguladım ama bir hareket olmuyor. Bir de kod Modüler bir kod olarak yani istenildiğinde çalıştırılacak bir kod olabilir mi ?
 

Korhan Ayhan

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

&#214;nerdi&#287;im kodun &#231;al&#305;&#351;mas&#305; i&#231;in B s&#252;tununa veri giri&#351;i yapman&#305;z gerekmektedir.

&#214;nceki mesaj&#305;mdaki &#246;nerdi&#287;im kodu tamamen iptal edip a&#351;a&#287;&#305;daki kodu bir mod&#252;le ekleyip bir butona atay&#305;n. Makronun &#231;al&#305;&#351;mas&#305; i&#231;in B s&#252;tunundan bir h&#252;cre se&#231;in ve butona t&#305;klay&#305;n. (Makronun &#231;al&#305;&#351;mas&#305; i&#231;in se&#231;ti&#287;iniz h&#252;crenin dolu olmas&#305; gerekmektedir.)

Kod:
Sub SATIR_EKLE()
    If ActiveCell.Column <> 2 Or ActiveCell = "" Then Exit Sub
    If ActiveCell < ActiveCell.Offset(0, 1) Then
    Rows(ActiveCell.Row).Copy
    Rows(ActiveCell.Row + 1).Insert Shift:=xlDown
    Application.CutCopyMode = False
    End If
End Sub
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Sayın Cost_Control sabrınız için çok müteşekkirim. Kızmayacağınıza söz verin. Ben maalesef kodu çalıştırmayı beceremedim. Haddim olmayarak kodun dosyaya uygulanmış halini eklemenizi rica etsem kabalık etmiş olur muyum acaba !!
 

Korhan Ayhan

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

Ekteki örnek dosyayı incelermisiniz.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Teşekkürler

Sayın Cost_Control emeğiniz ve sabrınız için çok teşekkürler. Kodu şu şekilde revize etmek mümkün mü ?

* Seçili olarak taranmış her hücre için satır-kopyala işlemini yapabilmesi !!!

Olmuyorsa da elinize sağlık, sağlıcakla kalın.
 
Üst