iç içe for döngüsü ile iki farklı sayfadaki aynı hücre değerine sahip satırları silme

sahir73

Altın Üye
Katılım
17 Nisan 2019
Mesajlar
68
Excel Vers. ve Dili
Office 2016 Professional Plus 32 Bit
Altın Üyelik Bitiş Tarihi
07-07-2027
Merhabalar sevgili Vba ailesi bir projemde takılıp kaldım bu yüzden yardımınıza ihtşyacım var çözümü nasıl olcağını başlıkta belirttiğim gibi biliyorum ama kurguyu gereçkeleştiremedim.Sorunum şu Stok Bilgi ve Stok Hareketleri adlı iki sayfam var; Stok Bilgideki kaydı sildiğimde Stok Bilgiye bağlı Stok Harekterindeki satırların silinmesini istyorum. Her iki sAyafada ortak olan B sutunu yardımlarınız için şimdiden teşekür ederim.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Dosyanızı paylaşabilseniz daha kolay olacak. En azından içerisinde bir miktar veriyle beraber.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Aşağıda Sil butonuna bir ilave yaptım.
Siz Stok Kayıtlarından siliyorsunuz diye kodlarda ilgili satırı göremesem de o kısma dair bir işlem yapmadım.
Sadece hareketler sayfasında ilgili stok koduna ait tüm satırları silecektir.
Deneyerek yolluyorum, hareketler sayfasında gerekli işlemi yapıyor. Lütfen siz de kontrol ediniz.
C++:
Private Sub btnSil_Click()
    If Me.StokList.ListIndex < 0 Then
        MsgBox "Silincek bir kayıt seçiniz", vbCritical, "BİLDİRİM"
        Exit Sub
    End If
    
    
    'Bu kısım sadece StokHareketleri sayfasında Silinecek StokKaydını Stok Koduna göre hareketler sayfasından siler
    Dim Sh As Worksheet, Veri, Liste(), i As Long, k As Integer, say As Long, Silinecek As String
    Silinecek = txtStokKodu.Text
    Set Sh = Worksheets("STOKHAREKETLERI")
    Veri = Sh.Range("A1").CurrentRegion.Value
    ReDim Liste(1 To UBound(Veri), 1 To UBound(Veri, 2))
    For i = 2 To UBound(Veri)
        If Veri(i, 3) <> Silinecek Then
            say = say + 1
            For k = 1 To UBound(Veri, 2)
                Liste(say, k) = Veri(i, k)
            Next k
        End If
    Next i
    Sh.Range("A2:G" & UBound(Veri)).ClearContents
    Sh.Range("A2").Resize(say, UBound(Veri, 2)) = Liste
    Erase Liste: Erase Veri: Set Sh = Nothing: i = Empty: k = Empty: say = Empty
End Sub
 

sahir73

Altın Üye
Katılım
17 Nisan 2019
Mesajlar
68
Excel Vers. ve Dili
Office 2016 Professional Plus 32 Bit
Altın Üyelik Bitiş Tarihi
07-07-2027
Aşağıda Sil butonuna bir ilave yaptım.
Siz Stok Kayıtlarından siliyorsunuz diye kodlarda ilgili satırı göremesem de o kısma dair bir işlem yapmadım.
Sadece hareketler sayfasında ilgili stok koduna ait tüm satırları silecektir.
Deneyerek yolluyorum, hareketler sayfasında gerekli işlemi yapıyor. Lütfen siz de kontrol ediniz.
C++:
Private Sub btnSil_Click()
    If Me.StokList.ListIndex < 0 Then
        MsgBox "Silincek bir kayıt seçiniz", vbCritical, "BİLDİRİM"
        Exit Sub
    End If
   
   
    'Bu kısım sadece StokHareketleri sayfasında Silinecek StokKaydını Stok Koduna göre hareketler sayfasından siler
    Dim Sh As Worksheet, Veri, Liste(), i As Long, k As Integer, say As Long, Silinecek As String
    Silinecek = txtStokKodu.Text
    Set Sh = Worksheets("STOKHAREKETLERI")
    Veri = Sh.Range("A1").CurrentRegion.Value
    ReDim Liste(1 To UBound(Veri), 1 To UBound(Veri, 2))
    For i = 2 To UBound(Veri)
        If Veri(i, 3) <> Silinecek Then
            say = say + 1
            For k = 1 To UBound(Veri, 2)
                Liste(say, k) = Veri(i, k)
            Next k
        End If
    Next i
    Sh.Range("A2:G" & UBound(Veri)).ClearContents
    Sh.Range("A2").Resize(say, UBound(Veri, 2)) = Liste
    Erase Liste: Erase Veri: Set Sh = Nothing: i = Empty: k = Empty: say = Empty
End Sub
Ömer bey teşekkür ederim Sağ olun
 
Üst