• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Çözüldü Makro ile Tablo Özeti Oluşturma

Katılım
6 Ağustos 2017
Mesajlar
98
Excel Vers. ve Dili
2010
İyi günler herkese. Bilgi ve deneyimlerinize güvenerek bir şey danışmak istiyorum. Örnek dosyada da gördüğünüz gibi Anasayfamda bir özet tablom var. Makro atanmış tuşa tıkladığımda yanlarında veri olan suç başlıklarını anasayfadaki tabloya getirmesini istiyorum. Buradaki ince detaylar şunlar;
1- Veri girişi yapılmamış suç başlığını getirmeyecek (Yani yanındaki hücre 0 olanları)
2- Suç adlarını ve sayılarını getirirken her suç arasında virgül olacak ve suç sayıları parantez içinde olacak (Suç adı (olay sayısı),)
3- Her ilçenin suçu kendi ilçesinin açıklama kısmına yazılacak ( Altındağ sayfasındaki veriler, tablodaki Altındağ kısmına)
*Mümkün müdür bilmiyorum ama bazı suç başlıkları çok uzun olduğu için, onları kısaltarak getirebilir mi? Örneğin "Kaybolan veya Hata Sonucu Ele Geçen Eşya Üzerine Tasarruf" verisini anasayfadaki tabloya "Kaybol. veya hata son. ele geç. eşya üzer. tasarruf." şeklinde yazabilir mi?
İlgili Dosya; http://dosya.co/gqo1bi4q3hs5/Furkan_Yardım2_.xlsm.html
Görseller 1: https://i.hizliresim.com/ZXYNrz.png
Görseller 2: https://i.hizliresim.com/V9EpZR.png
Görseller 3: https://i.hizliresim.com/oXEQLq.jpg
 
Dosya Linki
Dosyanız istediğiniz ilçe sayfası boyutuna uyarlı düzenlenmiştir.
Deneyiniz.
 
Birleştirilen metinin en sonundaki "," (Virgül) işaretini kaldırmak için.
 
Sağ olun, iyi çalışmalar.
Tekrar rahatsızlık veriyorum lütfen kusuruma bakmayın :( Son attığınız kod çok işime yaradı fakat excel dosyamın içinde başka verileri tuttuğum konu ile alakasız 4 - 5 sayfa var. Ve formül Anasayfa harici diğer tüm sayfalardan veri almaya çalıştığı için hata veriyor. Diğer sayfaları gizlediysem de olmadı. Ne gibi bi düzenleme yapabilirim bu konuda? O veri almasını istemediğim ayfaları nasıl tanımlarım?
 
nQEGzV.png
 
VBA Kod bölümündeki kodda bulunan
If sayfa.Name <> "Anasayfa" Then satırına
If sayfa.Name <> "Anasayfa" and sayfa.Name <> "Olay Sayıları" and sayfa.Name <> "Asayiş Mukayese" Then

gibi araya istemediğiniz sayfa isimlerini ekleyebilirsiniz.
 
VBA Kod bölümündeki kodda bulunan
If sayfa.Name <> "Anasayfa" Then satırına
If sayfa.Name <> "Anasayfa" and sayfa.Name <> "Olay Sayıları" and sayfa.Name <> "Asayiş Mukayese" Then

gibi araya istemediğiniz sayfa isimlerini ekleyebilirsiniz.
Evet söylediğiniz gibi yaptım ve artık o sayfalardan veri almıyor. Fakat şöyle bi hata oluştu şimdi, kuvvetle muhtemel benim hatamdır. Suç adı ve sayısından sonra tekrar sayısını yazıyor.
DY38k3.png
Dosya
 
Evet söylediğiniz gibi yaptım ve artık o sayfalardan veri almıyor. Fakat şöyle bi hata oluştu şimdi, kuvvetle muhtemel benim hatamdır. Suç adı ve sayısından sonra tekrar sayısını yazıyor.
DY38k3.png
Dosya
Sanırım o sorunu çözdüm sizin yaptığınız formülde verileri /For i = 3 To 122/ arası alıyor ve ben tablomu değiştirdiğim için veriiler 3 ile 112 arasında. Bu yüzden toplamda veri aldığı aralık içinde kalıyor. /For i = 3 To 112/ yaptım ve sorun çözüldü bu seferde başka bi hata ile karşılaştım. Dolu olan verileri alıyor sırayla fakat boş olan ilçeye geldiğinde hata veriyor. Debug yaptığımda hatanın şu kısımda olduğunu gösteriyor. Nasıl yardımcı olabilirsiniz bu konuda?
grXn3b.png
 
Sarı işaretli satırı:
If Len(Cells(x, 3)) > 1 Then Cells(x, 3) = Left(Cells(x, 3), Len(Cells(x, 3)) - 2)
şeklinde değiştirip deneyin.
Ancak ; B sütununda İLÇE ismi yazacak, OLAY SAYILARI sütunu BOŞ olarak gelecektir.
 
Sarı işaretli satırı:
If Len(Cells(x, 3)) > 1 Then Cells(x, 3) = Left(Cells(x, 3), Len(Cells(x, 3)) - 2)
şeklinde değiştirip deneyin.
Ancak ; B sütununda İLÇE ismi yazacak, OLAY SAYILARI sütunu BOŞ olarak gelecektir.
Evet sorun çözüldü ve tam istediğim gibi çalışıyor. Zaman ayırıp yardımcı olduğunuz ve bilgilerinizi benimle paylaştığınız için çok teşekkür ederim, saygı ve sevgilerimle iyi çalışmalar dilerim.
 
Çözümde sizin de başarılı katkılarınız var.Kısa sürede sonuca ulaştınız.
Ben de size teşekkür ederim.Sağ olun, var olun.
İyi çalışmalar.
 
Geri
Üst