Gruba göre malzemeyi almak

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 kodları ilgili sayfanın kod bölümüne yapıştırıp deneyiniz. B1 hücresi değiştikçe otomatik olarak listeleme yapar:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B1]) Is Nothing Then Exit Sub
Application.EnableEvents = False
Set s2 = Sheets("Malzemeler")
son = s2.Cells(Rows.Count, "B").End(3).Row
If WorksheetFunction.CountIf(s2.Range("B2:B" & son), Target) = 0 Then Exit Sub
eski = Cells(Rows.Count, "B").End(3).Row
Range("A2:B" & eski).ClearContents
For i = 2 To son
    If s2.Cells(i, "B") = Target Then
        yeni = Cells(Rows.Count, "B").End(3).Row + 1
        Cells(yeni, "A") = yeni - 1
        Cells(yeni, "B") = s2.Cells(i, "C")
    End If
Next
Application.EnableEvents = True
Target.Select

End Sub
 
Katılım
27 Haziran 2010
Mesajlar
394
Excel Vers. ve Dili
Türkçe 2010 Ofis
Hocam selamlar kodu hemen hemen her sayfada denedim hata vermedi ama bul sayfası B2 ye de malzeme gelmedi ben yanlış mı yaptım dedim ama denemeleri olmadı
 

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
Kodun düzgün çalışması için B1 hücresine malzemeler sayfasındaki gibi Grup ismini büyük harfle yazma gerekiyordu. Ayrıca kodda eski verilerin silinmesi kısmında bir bir hata vardı. Her iki durum içinde kodda düzenleme yaptım, aşağıdaki gibi kullanın:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B1]) Is Nothing Then Exit Sub
Application.EnableEvents = False
Set s2 = Sheets("Malzemeler")
son = s2.Cells(Rows.Count, "B").End(3).Row
If WorksheetFunction.CountIf(s2.Range("B2:B" & son), Target) = 0 Then Exit Sub
eski = WorksheetFunction.Max(2, Cells(Rows.Count, "B").End(3).Row, 2)
Range("A2:B" & eski).ClearContents
For i = 2 To son
    If UCase(Replace(Replace(s2.Cells(i, "B"), "i", "İ"), "ı", "I")) = UCase(Replace(Replace(Target, "i", "İ"), "ı", "I")) Then
        yeni = Cells(Rows.Count, "B").End(3).Row + 1
        Cells(yeni, "A") = yeni - 1
        Cells(yeni, "B") = s2.Cells(i, "C")
    End If
Next
Application.EnableEvents = True
Target.Select

End Sub
 
Katılım
27 Haziran 2010
Mesajlar
394
Excel Vers. ve Dili
Türkçe 2010 Ofis
Hocam olmadı sorun devam ediyor yaptığım ise son kodu bul sayfasına kayıt edip B1 den grup yazdım bendemi hata var hocam
 

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
İlk kullanış için Bul sayfasında B2 den itibaren birkaç hücre doldurup öyle deneyin.
 
Katılım
27 Haziran 2010
Mesajlar
394
Excel Vers. ve Dili
Türkçe 2010 Ofis
Hocam zahmet verip duruyorum ne yaptım olmadı mümkünse bir dosya eklerseniz memnun olacağım herşey için sağolun.makro olmazsa formülde olur
 

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
O dosyadayken bir modüle aşağıdaki kodları yapıştırıp çalıştırın, sonra tekrar deneyin:. Belki olaya bağlı çalıştırma pasiflenmiştir:

Kod:
sub aktif()
Application.EnableEvents = true
end sub()
 
Katılım
27 Haziran 2010
Mesajlar
394
Excel Vers. ve Dili
Türkçe 2010 Ofis
Hocam selamlar maalesef olmadı.Yeni dosya açtım kodları kopyaladım ne yaptım olmadı yani bul sayfasında B2 de hiç hareket olmuyor mümkünse formülleyin hocam teşekkür ederim.
 

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
Formülle nasıl yapılır bilmiyorum. Olmayan dosyayı dosya paylaşır mısınız?
 

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
Aktif kodunu aşağıdakiyle değiştirip çalıştırın. Bende de ilk çalışmadı ama sonra böyle yapınca çalıştı:

Kod:
Sub aktif()
Application.EnableEvents = False
Application.EnableEvents = True
End Sub
 
Katılım
27 Haziran 2010
Mesajlar
394
Excel Vers. ve Dili
Türkçe 2010 Ofis
Merhaba hocam nihayet oldu sağolasın Orj. Dosyadan malzemeler sayfasında ; a sütunu sıra , b sütunu tarh, c sütunu grup ve d sütunu malzeme.Bu duruma göre kodda nereleri düzeltebilirim. Tekrar teşekkür ediyorum.
 

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
Örnek dosyanızı niye orjinalden farklı hazırlıyorsunuz ki? O kadar boşa mı uğraştık yani! Örnek dosyanızı orjinaline uygun olarak hazırlayıp nasıl bir sonuç istediğinizi örnekle gösterirseniz daha iyi olur.
 
Katılım
27 Haziran 2010
Mesajlar
394
Excel Vers. ve Dili
Türkçe 2010 Ofis
Selam hocam haklısınız gözümden kaçırmışım, özür dilerim bu haliyle kalsın tekrar teşekkür ediyorum hakkını helal et.
 

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
Helal olsun, ne demek.

Eğer işinizi gördüyse ne iyi, görmediyse sormaktan çekinmeyin.
 
Katılım
27 Haziran 2010
Mesajlar
394
Excel Vers. ve Dili
Türkçe 2010 Ofis
Helal olsun, ne demek.

Eğer işinizi gördüyse ne iyi, görmediyse sormaktan çekinmeyin.
Sağol hocam, orj.dosyaya uyarlayamadım, ya format değiştirecem yada arşivde güzel bie dosya olarak yerini alacak.Zahmetleriniz için teşekkür ederim.Başka bir başlıkla formülle çare arayacağım, oldu oldu olmadıysada yapacak bi şey yok.sağlıcakla kalınız.
 
Üst