Soru Seçilen koşula göre tüm satırı başka sayfaya taşıma

Katılım
20 Eylül 2022
Mesajlar
22
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
21-09-2024
Daha önce açılmış bir konu hakkında yardıma ihtiyacım var. Gönderdiğim örnekte Çift tıklanan satır Necdet Bey in yazdığı kod sayesinde sorunsuz olarak başka sayfaya taşınıyor ve ana sayfadan siliniyor. Benim bu kodu K sütununda bulunan hücrelerdeki değerin AKTİF / PASİF içeriğine göre güncellenmesi. VBA kodlama hakkında yeterli bilgim yok, yardımcı olacak arkadaşlara şimdiden teşekkür ederim... Örnek dosya ektedir. Benim yaptığım eklemede kod eksik çalışıyor :)
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
AKTİF/PASİF içeriğine göre nasıl güncellenecek?
 
Katılım
20 Eylül 2022
Mesajlar
22
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
21-09-2024
Yusuf Bey. Birinci sayfada PASİF değeri seçildiğinde o satır diğer sayfaya taşınacak, diğer sayfaya taşınan satırlardan AKTİF değeri seçildiğinde bu sefer bu satır birinci sayfaya geri taşınacak.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Dosyadaki eski kodları silip aşağıdaki ilk kodu sipariş sayfasına ve ikinci kodu teslim edilen siparişler sayfasına ekleyin:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [K:K]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Dim SonKol As Integer
Dim SonSat As Long
Dim Sat As Long
If Target = "PASİF" Then
    Sat = Target.Row
    SonSat = Sheets("teslim edilen siparişler").[A65536].End(3).Row + 1
    SonKol = Cells(1, Columns.Count).End(1).Column
    Application.EnableEvents = False
        Range(Cells(Sat, "A"), Cells(Sat, SonKol)).Copy _
                Sheets("teslim edilen siparişler").Range("A" & SonSat)
        Rows(Sat).Delete Shift:=xlUp
    Application.EnableEvents = True
End If
End Sub
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [K:K]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Dim SonKol As Integer
Dim SonSat As Long
Dim Sat As Long
If Target = "AKTİF" Then
    Sat = Target.Row
    SonSat = Sheets("sipariş").[A65536].End(3).Row + 1
    SonKol = Cells(1, Columns.Count).End(1).Column
    Application.EnableEvents = False
        Range(Cells(Sat, "A"), Cells(Sat, SonKol)).Copy _
                Sheets("sipariş").Range("A" & SonSat)
        Rows(Sat).Delete Shift:=xlUp
    Application.EnableEvents = True
End If
End Sub
 
Katılım
20 Eylül 2022
Mesajlar
22
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
21-09-2024
Dosyadaki eski kodları silip aşağıdaki ilk kodu sipariş sayfasına ve ikinci kodu teslim edilen siparişler sayfasına ekleyin:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [K:K]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Dim SonKol As Integer
Dim SonSat As Long
Dim Sat As Long
If Target = "PASİF" Then
    Sat = Target.Row
    SonSat = Sheets("teslim edilen siparişler").[A65536].End(3).Row + 1
    SonKol = Cells(1, Columns.Count).End(1).Column
    Application.EnableEvents = False
        Range(Cells(Sat, "A"), Cells(Sat, SonKol)).Copy _
                Sheets("teslim edilen siparişler").Range("A" & SonSat)
        Rows(Sat).Delete Shift:=xlUp
    Application.EnableEvents = True
End If
End Sub
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [K:K]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Dim SonKol As Integer
Dim SonSat As Long
Dim Sat As Long
If Target = "AKTİF" Then
    Sat = Target.Row
    SonSat = Sheets("sipariş").[A65536].End(3).Row + 1
    SonKol = Cells(1, Columns.Count).End(1).Column
    Application.EnableEvents = False
        Range(Cells(Sat, "A"), Cells(Sat, SonKol)).Copy _
                Sheets("sipariş").Range("A" & SonSat)
        Rows(Sat).Delete Shift:=xlUp
    Application.EnableEvents = True
End If
End Sub

Yusuf Bey çok teşekkür ediyorum. Kodlar mükemmel çalışıyor, Allah razı olsun.
 
Katılım
9 Eylül 2010
Mesajlar
868
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Merhabalar Yusuf Bey bu işlemleri butona atayınca kodu değiştirmemiz gerekiyor muydu? Epeydir excele uzağım bildiğim az bir şeyi de unutmuşum.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu kodlar target olarak belirtilen hücre(ler)de değişiklik yapılınca çalışırlar. Eğer düğme aracılığıyla çalışması gerekiyorsa değişiklik gerekir. Target yerine activecell kullanmak gibi. Ancak önemli olan nasıl bir işlem yapılması istendiğidir. Örneğin son paylaştığım kodlarda activecell kullanmak çözüm olmaz. Çünkü K sütununa göre işlem yapılıyor. Bunun bir şekilde makroda belirtilmesi gerekir.
 
Katılım
9 Eylül 2010
Mesajlar
868
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Bu kodlar target olarak belirtilen hücre(ler)de değişiklik yapılınca çalışırlar. Eğer düğme aracılığıyla çalışması gerekiyorsa değişiklik gerekir. Target yerine activecell kullanmak gibi. Ancak önemli olan nasıl bir işlem yapılması istendiğidir. Örneğin son paylaştığım kodlarda activecell kullanmak çözüm olmaz. Çünkü K sütununa göre işlem yapılıyor. Bunun bir şekilde makroda belirtilmesi gerekir.
Bende de aynı şart mevcut sadece K yerine aktif pasif şartımız A sütununda yazıyor.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Tam olarak yapmak istediğiniz nedir? Düğmeye bastığınızda sayfada A sütunundaki tüm AKTİF ya da PASİFler diğer sayfaya mı taşınacak? Yoksa belirli bir satır mı kontrol edilecek? Hangi sayfadan hangi sayfaya aktarılacak?
 
Katılım
9 Eylül 2010
Mesajlar
868
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Düğmeye bastığımda A sütunundaki Aktif-pasif değerine göre tüm pasif yazan satırlara çalışan sayfasından pasif sayfasına aktarılacak.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki gibi olabilir. Makro büyük küçük harf duyarlıdır, sayfa isimleri ve hücredeki verilerin birebir makrodaki gibi olması gerekir (ya da makrodaki bilgileri dosyanıza göre güncellemelisiniz):
PHP:
Sub aktar()
Set s1 = Sheets("çalışan")
Set s2 = Sheets("pasif")
son = s1.Cells(Rows.Count, "A").End(3).Row
For i = son To 1 Step -1
    If s1.Cells(i, "A") = "Pasif" Then
        yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1
        s1.Rows(i).Cut s2.Cells(yeni, "A")
        s1.Rows(i).Delete Shift:=xlUp
    End If
Next
End Sub
 
Katılım
9 Eylül 2010
Mesajlar
868
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Zihninize sağlık hocam çok sağolun.
 
Üst