DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Merhabalar ekteki dosyama yardımlarınızı bekliyorum
değerli uzman arkadaşlar.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:A65536]) Is Nothing Then Exit Sub
If Cells(Target.Row, 1).Value = 1 Then
Rows(Target.Row + 1).Insert
On Error Resume Next
For i = 2 To 6
Cells(Target.Row + 1, i).Value = Cells(Target.Row, i).Value
Next
ElseIf Cells(Target.Row, 1).Value = 2 Then
sonsat = Cells(Rows.Count, 2).End(3).Row + 1
For a = 2 To 6
Cells(sonsat, a).Value = Cells(Target.Row, a).Value
Cells(Target.Row, a).Value = ""
Next
End If
End Sub
Mesajımı yazmadan önce denedim
Runtime error 1004 diyor...
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:A65536]) Is Nothing Then Exit Sub
If Cells(Target.Row, 1).Value = 0 Then
Rows(Target.Row + 1).Insert
On Error Resume Next
For i = 2 To 6
Cells(Target.Row + 1, i).Value = Cells(Target.Row, i).Value
Next
ElseIf Cells(Target.Row, 1).Value = 1 Then
sonsat = Cells(Rows.Count, 2).End(3).Row + 1
For a = 2 To 6
Cells(sonsat, a).Value = Cells(Target.Row, a).Value
Cells(Target.Row, a).Value = ""
Next
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:A65536]) Is Nothing Then Exit Sub
If Cells(Target.Row, 1).Value = 0 Then
Rows(Target.Row + 1).Insert
On Error Resume Next
For i = 11 To 20
Cells(Target.Row + 1, i).Value = Cells(Target.Row, i).Value
Next
ElseIf Cells(Target.Row, 1).Value = 1 Then
sonsat = Cells(Rows.Count, 2).End(3).Row + 1
For a = 11 To 20
Cells(sonsat, a).Value = Cells(Target.Row, a).Value
Cells(Target.Row, a).Value = ""
Next
End If
End Sub
Ben işlemi a sutununa yazınca b den F ye kadar olan satırları kopyalaması için yapmiştım sizin dosyada k ile başlıyor devam ediyor.
For i = 11 to 20 ve for a=11 to 20 kodarda 11 sutun yani "K" sutunundan başla 20 sutuna kadar kopyala anlamındadır eğer sizin dosyanızda gizlediğiniz satırlarda B ile K arasındakilerde veri varsa ve kopyalamasını veya aşağı taşımasını istiyorsanız For =2 to 20 yapın..
Kod:Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, [A1:A65536]) Is Nothing Then Exit Sub If Cells(Target.Row, 1).Value = 0 Then Rows(Target.Row + 1).Insert On Error Resume Next For i = 11 To 20 Cells(Target.Row + 1, i).Value = Cells(Target.Row, i).Value Next ElseIf Cells(Target.Row, 1).Value = 1 Then sonsat = Cells(Rows.Count, 2).End(3).Row + 1 For a = 11 To 20 Cells(sonsat, a).Value = Cells(Target.Row, a).Value Cells(Target.Row, a).Value = "" Next End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:A65536]) Is Nothing Then Exit Sub
If Cells(Target.Row, 1).Value = "" Then
ElseIf Cells(Target.Row, 1).Value = 0 Then
Rows(Target.Row + 1).Insert
For i = 11 To 20
Cells(Target.Row + 1, i).Value = Cells(Target.Row, i).Value
Next i
ElseIf Cells(Target.Row, 1).Value = 1 Then
sonsat = Cells(Rows.Count, 11).End(3).Row + 1
For a = 11 To 20
Cells(sonsat, a).Value = Cells(Target.Row, a).Value
Cells(Target.Row, a).Value = ""
Next a
End If
End Sub
Günaydınlar;
Hüseyin bey 1 hiç tepki vermiyor.
0 kendinden sonraki satırı boşaltıyor.
yani boş satır kopyalıyor.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:A65536]) Is Nothing Then Exit Sub
If Cells(Target.Row, 1).Value = "" Then
ElseIf Cells(Target.Row, 1).Value = 0 Then
Rows(Target.Row + 1).Insert
For i = 11 To 20
Cells(Target.Row + 1, i).Value = Cells(Target.Row, i).Formula
Next i
ElseIf Cells(Target.Row, 1).Value = 1 Then
sonsat = Cells(Rows.Count, 11).End(3).Row + 1
For a = 11 To 20
Cells(sonsat, a).Value = Cells(Target.Row, a).Formula
Cells(Target.Row, a).Value = ""
Next a
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:A65536]) Is Nothing Then Exit Sub
If Cells(Target.Row, 1).Value = "" Then
ElseIf Cells(Target.Row, 1).Value = 0 Then
Rows(Target.Row + 1).Insert
Range(Cells(Target.Row, 11), Cells(Target.Row, 20)).Copy
Cells(Target.Row + 1, 11).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Cells(Target.Row, 1).Select
ElseIf Cells(Target.Row, 1).Value = 1 Then
sonsat = Cells(Rows.Count, 11).End(3).Row + 1
Range(Cells(Target.Row, 11), Cells(Target.Row, 20)).Copy
Cells(sonsat, 11).Select
ActiveSheet.Paste
Range(Cells(Target.Row, 11), Cells(Target.Row, 20)).ClearContents
Application.CutCopyMode = False
Cells(Target.Row, 1).Select
End If
End Sub