Hücrede değer sıfır ise satır kaydır

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,716
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhabalar,

Belirlenen hücredeki değer sıfır olduğunda, bir aşağıdaki satır, değeri sıfır olan satırın yerini,

Değeri sıfır olan satırın da, en son satırın altında yerini almasını arzulamaktayım,

Değerli katkılarınız için şimdiden teşekkür ederim, saygılarımla.
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,456
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhabalar,

Birşeyler yapmaya çalıştım, inceler misiniz?
Aşağıdaki kodlar ilgili sayfanın kod bölümünde olmalı.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [F4]) Is Nothing Then Exit Sub
If Target.Value <> Target.Offset(0, -1) Then Exit Sub
Sat = [A65536].End(3).Row + 1
Rows("4:4").Select
Selection.Cut
Rows(Sat).Select
Selection.Insert Shift:=xlDown
Target.Select
Son:
End Sub
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,716
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Necdet Ye&#351;ertener;251045' Alıntı:
Merhabalar,

Bir&#351;eyler yapmaya &#231;al&#305;&#351;t&#305;m, inceler misiniz?
A&#351;a&#287;&#305;daki kodlar ilgili sayfan&#305;n kod b&#246;l&#252;m&#252;nde olmal&#305;.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [F4]) Is Nothing Then Exit Sub
If Target.Value <> Target.Offset(0, -1) Then Exit Sub
Sat = [A65536].End(3).Row + 1
Rows("4:4").Select
Selection.Cut
Rows(Sat).Select
Selection.Insert Shift:=xlDown
Target.Select
Son:
End Sub
Say&#305;n Ye&#351;ertener, eliniz sa&#287;l&#305;k,
tablonun 15 sat&#305;r alt&#305;nda olan ba&#351;ka bir tablonun alt&#305;na yaz&#305;yor ve 1 nci tablodaki verileri siliyor, san&#305;r&#305;m 1 nolu tablonun son sat&#305;r&#305;ndan sonra bo&#351; sat&#305;r olmad&#305;&#287;&#305; i&#231;in yap&#305;yor,te&#351;ekk&#252;r ederim, sayg&#305;lar&#305;mla.
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,456
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kodları aşağıdaki gibi değiştirip dener misiniz?

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [F4]) Is Nothing Then Exit Sub
If Target.Value <> Target.Offset(0, -1) Then Exit Sub
Sat = [A3].End(4).Row + 1
Rows("4:4").Select
Selection.Cut
Rows(Sat).Select
Selection.Insert Shift:=xlDown
Target.Select
Son:
End Sub
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,716
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Kodları aşağıdaki gibi değiştirip dener misiniz?

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [F4]) Is Nothing Then Exit Sub
If Target.Value <> Target.Offset(0, -1) Then Exit Sub
Sat = [A3].End(4).Row + 1
Rows("4:4").Select
Selection.Cut
Rows(Sat).Select
Selection.Insert Shift:=xlDown
Target.Select
Son:
End Sub
Sayın Yeşertener,
tekrar merhaba, sorun düzeldi,
ancak E11, F11 ve G11'deki hücrelerdeki formüllerden; Örneğin =Topla(E4:E10) iken satırın kayması halinde E4:E10 olan formül E4:E9 olmakta, bunun dışında problem yok, tekrar çok çok teşekkürler, elinize sağlık, saygılar sunarım.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,716
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın Yeşertener,
tekrar merhaba, sorun düzeldi,
ancak E11, F11 ve G11'deki hücrelerdeki formüllerden; Örneğin =Topla(E4:E10) iken satırın kayması halinde E4:E10 olan formül E4:E9 olmakta, bunun dışında problem yok, tekrar çok çok teşekkürler, elinize sağlık, saygılar sunarım.
Sayın Yeşertener, iyi geceler,

1) Satırın A:G (G dahil) arası kayması mümkün mü ? (Şimdiki haliyle tüm satır kayıyor)
2) =Topla(E4:E10) iken satırın kayması halinde E4:E10 olan formül E4:E9 formatını alıyor, düzelebilir mi?

Teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,456
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sanırım şimdi oldu, deneyiniz lütfen.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [F4]) Is Nothing Then Exit Sub
If Target.Value <> Target.Offset(0, -1) Then Exit Sub
Sat = [A3].End(4).Row + 1
Range("A4:G4").Select
Application.CutCopyMode = False
Selection.Cut
Range("A" & Sat).Select
Selection.Insert Shift:=xlDown
Range("E" & Sat) = "=SUM(E4:E" & Sat - 1 & ")"
Range("F" & Sat) = "=SUM(F4:F" & Sat - 1 & ")"
Range("G" & Sat) = "=SUM(G4:E" & Sat - 1 & ")"
Son:
End Sub
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,716
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Sanırım şimdi oldu, deneyiniz lütfen.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [F4]) Is Nothing Then Exit Sub
If Target.Value <> Target.Offset(0, -1) Then Exit Sub
Sat = [A3].End(4).Row + 1
Range("A4:G4").Select
Application.CutCopyMode = False
Selection.Cut
Range("A" & Sat).Select
Selection.Insert Shift:=xlDown
Range("E" & Sat) = "=SUM(E4:E" & Sat - 1 & ")"
Range("F" & Sat) = "=SUM(F4:F" & Sat - 1 & ")"
Range("G" & Sat) = "=SUM(G4:E" & Sat - 1 & ")"
Son:
End Sub
Sayın Yeşertener, çok çok teşekkür ederim, elinize sağlık, benim için bayağı emek harcadınız, saygılar sunuyorum.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,456
Excel Vers. ve Dili
Ofis 365 Türkçe
Aman efendim rica ederim.

Emek harcamak demek benim i&#231;in bir&#351;eyler &#246;&#287;renmek demek.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,716
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Sanırım şimdi oldu, deneyiniz lütfen.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [F4]) Is Nothing Then Exit Sub
If Target.Value <> Target.Offset(0, -1) Then Exit Sub
Sat = [A3].End(4).Row + 1
Range("A4:G4").Select
Application.CutCopyMode = False
Selection.Cut
Range("A" & Sat).Select
Selection.Insert Shift:=xlDown
Range("E" & Sat) = "=SUM(E4:E" & Sat - 1 & ")"
Range("F" & Sat) = "=SUM(F4:F" & Sat - 1 & ")"
Range("G" & Sat) = "=SUM(G4:[COLOR="Red"]E[/COLOR]" & Sat - 1 & ")"
Son:
End Sub
Sayın Yeşertener,

Range("G" & Sat) = "=SUM(G4:E" & Sat - 1 & ")"

Bu harfin "G" olması gerekiyor mu ? Teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,456
Excel Vers. ve Dili
Ofis 365 Türkçe
e tabi :)

Kopyalay&#305;p &#252;zerinde de&#287;i&#351;iklik yap&#305;nca bazen b&#246;yle hatalar olu&#351;uyor, d&#252;zeltmemi ister misiniz? :)
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
Say&#305;n Hocam&#305;n izini ile evet ;

Range("G" & Sat) = "=SUM(G4:G" & Sat - 1 & ")"

sat&#305;r&#305; tabiki bu &#351;ekilde olacak...
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,716
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın Hocamın izini ile evet ;

Range("G" & Sat) = "=SUM(G4:G" & Sat - 1 & ")"

satırı tabiki bu şekilde olacak...
Sayın ECYAvuz, ilginiz için teşekkür ederim, saygılarımla.
 
Üst