• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü listbox çoklu sayfadan veri silmek

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

turgay1983

Bronz Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
14 Haz 2022
Mesajlar
209
Çözümler
2
Aldığı beğeni
19
Excel V
Office 2016 TR
Konuyu Başlatan
merhaba
aşağıdaki listboxtan seçtiğim satırı ait tüm verileri excelimdeki bütün sayfalardan silmesini istiyorum. Evrak numarası 1 tane olabilir ama o evraka ait birçok hareket olabilir o yüzden. evrak numarasına ait tüm verilerin silinmesi gerek. mesele d016 nolu evrakta aşağıdaki excelde 2 hareket var. cari sayfasındaki hareketlerde var. bunların hepsi silinmeli1723412438504.png1723412478615.png
 

Ekli dosyalar

  • Stok_Takip.xlsm
    342.4 KB · Gösterim: 5
Çözüm
Yada bu kodlarla tüm sayfalarda arama yapar ama dediğim gibi Evrak No B sütununda rama yapar.Bunun için Evrak No B sütununda olmalı.Yada önceki kodları kullanırsınız çalışırsa.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Merhaba.
Resimde StokHareket sayfası var ama Useformda SatışFaturası sayfasından veriler alınıyor.
Sonuç itibariyle kod StokHareket sayfasından satırları siliyor başka sayfa olacaksa ilgili yerleri değiştirmeniz yeterli.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Merhaba.
Resimde StokHareket sayfası var ama Useformda SatışFaturası sayfasından veriler alınıyor.
Sonuç itibariyle kod StokHareket sayfasından satırları siliyor başka sayfa olacaksa ilgili yerleri değiştirmeniz yeterli.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
merhaba
sizin kodunuzu baz alarak aşağıdaki gibi yaptığımda evrak numarasına göre tüm veriler silindi
Private Sub Btn_Sil_Click()
Dim BulStok As Range, satListbox As Long, lst As MSForms.ListBox, varmi As Boolean
Dim BulCari As Range
Set lst = Me.List_SatisFaturaListesi
varmi = False
satListbox = lst.ListIndex
If satListbox < 0 Or lst.ListCount = 0 Then
MsgBox "Sec"
GoTo 1
End If

devam:
Set BulStok = StokHareket.Range("B:B").Find(lst.List(satListbox, 1), , xlValues, 1)
Set BulCari = CariHareket.Range("B:B").Find(lst.List(satListbox, 1), , xlValues, 1)

If Not BulStok Is Nothing Then
BulStok.EntireRow.Delete
varmi = True
GoTo devam
End If

If Not BulCari Is Nothing Then
BulCari.EntireRow.Delete
varmi = True
GoTo devam
End If


x = List_SatisFaturaListesi.ListIndex + 2
SatisSayfasi.Cells(x, 2).EntireRow.Delete


1:
If varmi = True Then
UserForm_Initialize
MsgBox "Satış Faturası Silindi", vbInformation, "Silme"
Else
MsgBox "Silinecek veriler bulunamadi", vbCritical, "Silme"
End If
Set lst = Nothing
SatisFatura_Listele
 
merhaba
sizin kodunuzu baz alarak aşağıdaki gibi yaptığımda evrak numarasına göre tüm veriler silindi
Private Sub Btn_Sil_Click()
Dim BulStok As Range, satListbox As Long, lst As MSForms.ListBox, varmi As Boolean
Dim BulCari As Range
Set lst = Me.List_SatisFaturaListesi
varmi = False
satListbox = lst.ListIndex
If satListbox < 0 Or lst.ListCount = 0 Then
MsgBox "Sec"
GoTo 1
End If

devam:
Set BulStok = StokHareket.Range("B:B").Find(lst.List(satListbox, 1), , xlValues, 1)
Set BulCari = CariHareket.Range("B:B").Find(lst.List(satListbox, 1), , xlValues, 1)

If Not BulStok Is Nothing Then
BulStok.EntireRow.Delete
varmi = True
GoTo devam
End If

If Not BulCari Is Nothing Then
BulCari.EntireRow.Delete
varmi = True
GoTo devam
End If
UserForm_Initialize

x = List_SatisFaturaListesi.ListIndex + 2
SatisSayfasi.Cells(x, 2).EntireRow.Delete


1:
If varmi = True Then
MsgBox "Satış Faturası Silindi", vbInformation, "Silme"
Else
MsgBox "Silinecek veriler bulunamadi", vbCritical, "Silme"
End If
Set lst = Nothing
SatisFatura_Listele
bu kod uygulayınca de List_SatisFaturaListesi listboxten ve satislistesindeki sayfadan silmiyor. sizin yukarıdaki gibi yaparsam da kitleniyor
 
Kodları siteye yüklerken bizim gibi mesela c# vb... şeklinde yüklemeniz gerekiyor bunu önceleride yazdık size diye hatırlıyorum.

İkincisi ise yüklediğim kod ile kilitlenme olmuyor.Zaten kod belli find ile basitçe yapıldı.
Hangi sayfadan silinip litboxa hangi sayfadan veri gelecek yazarsanız tekrar ayarlarız.
 
Ayrıca birşey daha dikkatimi çekmişti.Listboxtta hiçbirşey seçili değil gibi görüksede listbox ilk satır seçili oluyor ve seçmeden sil tuşuna basınca ilk satırdaki evrak no silinir bunuda yazmış olayım.Normalde ayarlanabilinir.
 
Yada tüm kodları unutun alttaki kodları USERFORM koduna ekleyin resimdeki gibi.
ara1 = SilSayfalardan(StokHareket, "B:B", arama) bu şekilde devam edersiniz başka sayfalarda ekleyecekseniz.
Normalde tüm syfalar arasında döngü ile yapılır ama durum karışık olur.

ara1 = SilSayfalardan(StokHareket, "B:B", arama) açıklaması:StokHareket demek sayfa,''B:B'' demek aranacak sütun,arama ise sabit birşey yapılmasına gerek yok.


C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Son düzenleme:
Yada bu kodlarla tüm sayfalarda arama yapar ama dediğim gibi Evrak No B sütununda rama yapar.Bunun için Evrak No B sütununda olmalı.Yada önceki kodları kullanırsınız çalışırsa.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Çözüm
Yada bu kodlarla tüm sayfalarda arama yapar ama dediğim gibi Evrak No B sütununda rama yapar.Bunun için Evrak No B sütununda olmalı.Yada önceki kodları kullanırsınız çalışırsa.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
hocam elinize sağlık bir önceki kod çok iyi bir şekilde çalıştı. yalınız bunu EvrakNo değil de List_SatisFaturaListesi lixbox un 3 colundaki veriye göre yapabilir miyiz. normalde orada bir Column daha var ama ben uzunluğunu sıfır yaptığım içi görünmüyor.
 
Rica ederim,kolay gelsin :)
 
Set bul = syf.Range("B:B")
Alttaki gibi yaparsanız sütuna bakmaksızın genel sayfada arar diye tahmin ediyorum ve denemedim.Yapmama sebebimde belki başka sütunda mesela d006 aranıyorsa ve evrak no değilse hata olabilir diye.
İstiyorsanız öylede denersiniz.

Ve istemediğiniz sayfada arama yaptırmamak içinde döngüde
if syf.name<>"xxxx" then gibi kriterler ekleyebilirsiniz abey.

Kolay gelsin.

Set bul = syf.cells
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst