Excelde 3 dosyadan veriyi istenilen şekilde okumak

Katılım
28 Şubat 2017
Mesajlar
69
Excel Vers. ve Dili
2016 Türkçe
öncelikle herkese kolay gelsin. bir apartman yönetim ofisinde çalışıyorum. 974 daireden oluşuyor. ve her ay düzenli olarak dairelerin borçlarını liste olarak gönderiyoruz. daha önceleri buradan yardım alarak bir excel dosyası hazırlamıştım işimi çok fazla kolaylaştırmıştı. ancak şuan kullandığımız program değişti ve excel olarak borçları dışarı aktardığımızda çok fazla gereksiz veri içeriyor. . elimden geldiğince yapmak istediğimi görsellerle anlatmaya çalışacağım. elimde 3 adet excel dosyası 3 excel dosyasını da eklere ekliyorum.
1. excel dosyası: yeni programdan aldığım borç listesi (bu liste bir çok gereksiz veri içeriyor. daire el değiştirdiyse eski sahibinin adı bile yer alıyor dosya şurada)
http://www.dosya.tc/server17/tujste/odeme_tahsilat_excel__31_.xlsx.html
2. dosya aşağıda (bu dosya bize gerekli olan isimlerin listesi ancak burda da yine eski sahiplerde görünüyor. ancak eski sahiplerin karşısında pasif yazıyor. yani bize sadece aktif statüsünde olanlar gerekli)
http://www.dosya.tc/server17/0eg7b4/AKTIFLER.xlsx.html
3.dosya daha önce buradan yardım alarak oluşturduğum excel dosyam. bu listedeki verileri bloklara göre isimleri kullanarak ayırıyordu. o da aşağıda
http://s2.dosya.tc/server6/ejcgaw/ORJINAL.xlsm.zip.html

Yapmak istediğim 1. ve 2. dosyayı harmanlayıp. 3. dosyamdaki verilere uygun hale getirmek. karşılaştığım sorunlar şu şekilde

1. dosyada gerekli olan sutunlar sadece a ve b sütunu onun dışında ihtiyaç duydugum bir bilgi yok. a sütunu borçlu b sütunu borç miktarı. ancak başta da belirttiğim gibi bu excel dosyası daire satıldıysa eski sahibini de gösteriyor. örnek için excel dosyasının 18.19. 20. 21. satırlarına bakabiliriz. burada b1-24 blok daire 24'ün 3 kez el değiştirildiği görünüyor. bize gerekli olan 4. malik.
Kod:
273323/2 - B1-24 - Daire 14 - 1. Dönem Malik Hesabı - NESLİHAN ACIBADEM - 881524572    0,00 ₺
273323/2 - B1-24 - Daire 14 - 2. Dönem Malik Hesabı - TOKİ - 729113757    0,00 ₺
273323/2 - B1-24 - Daire 14 - 3. Dönem Malik Hesabı - Yetkin MUSTAFA SERT - 325114882    0,00 ₺
273323/2 - B1-24 - Daire 14 - 4. Dönem Malik Hesabı - CELAL GÜRLER - 723343537    184,48 ₺
ama bana burada sadece celal güler ismi gerekli. yani en son kaçıncı (en yüksek) malikse o gerekli. bunu da aktif hesaplar listesinden yani 2. dosyadan karşısında aktif yazan listeden bulmamız gerekli. yalnız sorun şu: isimler tek sutunda
Kod:
273323/2 - B1-24 - Daire 14 - 4. Dönem Malik Hesabı - CELAL GÜRLER - 723343537
diye yazmakta bana sadece
Kod:
CELAL GÜRLER 184,48
verisi gerekli.

bunu 3. dosyamda kullanıp veriyi bloklara göre ayırmak istiyorum.. yardımcı olabilecek birisi varsa çok sevinirim şimdiden teşekkürler
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Merhaba.
Belge ekte. Belgeye eklediğim BARAN isimli sayfadaki düğmeleri kullanın.
İsmi odeme_tahsilat_excel.... olan belgeden istenilen veriler BARAN isimli sayfaya littelenecektir.

Sanıyorum istediğiniz işlem böyle bir şey.
Eklediğim belgeye, fareyle BURAYA tıklayarak da erişebilirsiniz.

Dikkat : ORİJİNAL isimli belgeye veri alınacak, ismi odeme_tahsilat_excel..... olan belge aynı klasörde olmalıdır.
.
 

Ekli dosyalar

Son düzenleme:
Katılım
28 Şubat 2017
Mesajlar
69
Excel Vers. ve Dili
2016 Türkçe
Merhaba.
Belge ekte. Belgeye eklediğim BARAN isimli sayfadaki düğmeleri kullanın.
İsmi odeme_tahsilat_excel.... olan belgeden istenilen veriler BARAN isimli sayfaya littelenecektir.

Sanıyorum istediğiniz işlem böyle bir şey.
Eklediğim belgeye, fareyle BURAYA tıklayarak da erişebilirsiniz.

Dikkat : ORİJİNAL isimli belgeye veri alınacak, ismi odeme_tahsilat_excel..... olan belge aynı klasörde olmalıdır.
.
yanıtınız için çok teşekkürler. ancak veriyi al dediğim zaman şöyle bir hata alıyorum. dediğiniz gibi odeme_tahsilat_excel..... olan belge aynı klasörde Excel sürümüm. 2016
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Belgenizi açtıktan sonra, ALT+F11 tuşlarına basarak VBA ekranını görüntüleyin,
ardından da VBA ekranında sol taraftaki listenin sonuna kadar gidip Module1'e fareyle çift tıklayın.
Sağ tarafta göreceğiniz VERI_AL başlıklı makronun başlığına fareyle 1 kez tıklayıp,
F8 tuşuna aralıklarla basarak kod'un adım adım çalışmasını sağlayın.
(İşlem yapılan satır sarı zeminli hale gelir)

Hangi satıra geelindiğinde hata ile karşılaşıyorsunuz merak ettim, çünkü makro eklediğim belgede sorunsuz çalışıyor idi.
.
 
Katılım
28 Şubat 2017
Mesajlar
69
Excel Vers. ve Dili
2016 Türkçe
Belgenizi açtıktan sonra, ALT+F11 tuşlarına basarak VBA ekranını görüntüleyin,
ardından da VBA ekranında sol taraftaki listenin sonuna kadar gidip Module1'e fareyle çift tıklayın.
Sağ tarafta göreceğiniz VERI_AL başlıklı makronun başlığına fareyle 1 kez tıklayıp,
F8 tuşuna aralıklarla basarak kod'un adım adım çalışmasını sağlayın.
(İşlem yapılan satır sarı zeminli hale gelir)

Hangi satıra geelindiğinde hata ile karşılaşıyorsunuz merak ettim, çünkü makro eklediğim belgede sorunsuz çalışıyor idi.
.
belki bilgisayar mac olduğu için sorun olabileceğini düşündüm. şuan windowsta deneyeceğim ilginiz için teşekkürler. buradan dönüş yaparım size
 
Katılım
28 Şubat 2017
Mesajlar
69
Excel Vers. ve Dili
2016 Türkçe
Belgenizi açtıktan sonra, ALT+F11 tuşlarına basarak VBA ekranını görüntüleyin,
ardından da VBA ekranında sol taraftaki listenin sonuna kadar gidip Module1'e fareyle çift tıklayın.
Sağ tarafta göreceğiniz VERI_AL başlıklı makronun başlığına fareyle 1 kez tıklayıp,
F8 tuşuna aralıklarla basarak kod'un adım adım çalışmasını sağlayın.
(İşlem yapılan satır sarı zeminli hale gelir)

Hangi satıra geelindiğinde hata ile karşılaşıyorsunuz merak ettim, çünkü makro eklediğim belgede sorunsuz çalışıyor idi.
.
çok tesekkurler program çalışıyor windowsta :)
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Hatta kod'a ilgili verilerin kendi sayfalarına dağıtılmasını da dahil ederek çalıştırdığımda oluşan durum görselde.

Keşke MAC bilgisayarda da adım adım çalıştırıp nerede hata alındığını belirtseniz çok iyi olur.
Neticede MAC kullanıcı sayısı da az değil ve MAC bilgisayarda da çalışması için ne yapılabilir diye bakardım.
.
 

Ekli dosyalar

Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Önce bundan önceki cevabımda MAC bilgisayar ile ilgili belirttiğim hususla ilgili cevap yazarsanız sevinirim.
Ekteki belgede, işlem bir adım ileri götürülerek;
ilgili belgeden çekilen verilerin, her blokun kendi sayfasındaki alana aktarılması da sağlandı.

Yeni belgeye, fareyle BURAYA tıklayarak da erişebilirsiniz.
.
 

Ekli dosyalar

Katılım
28 Şubat 2017
Mesajlar
69
Excel Vers. ve Dili
2016 Türkçe
Önce bundan önceki cevabımda MAC bilgisayar ile ilgili belirttiğim hususla ilgili cevap yazarsanız sevinirim.
Ekteki belgede, işlem bir adım ileri götürülerek;
ilgili belgeden çekilen verilerin, her blokun kendi sayfasındaki alana aktarılması da sağlandı.

Yeni belgeye, fareyle BURAYA tıklayarak da erişebilirsiniz.
.
tamamdır hocam suan macdeyım deneyip yazıyorum
 
Katılım
28 Şubat 2017
Mesajlar
69
Excel Vers. ve Dili
2016 Türkçe
Önce bundan önceki cevabımda MAC bilgisayar ile ilgili belirttiğim hususla ilgili cevap yazarsanız sevinirim.
Ekteki belgede, işlem bir adım ileri götürülerek;
ilgili belgeden çekilen verilerin, her blokun kendi sayfasındaki alana aktarılması da sağlandı.

Yeni belgeye, fareyle BURAYA tıklayarak da erişebilirsiniz.
.
macde f8 tuşu işe yaramıyor hocam. sanırım macdeki kısa yollar farklı. o yüzden deneyemedım
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
VBA ekranında DEBUG menüsünde Step Into olmalı (adım adım çalıştırma menüsü bu).
Ms.Excel için kısayol tuşu F8 ama MAC için farklı olabilir elbette.
.
.1549627350210.png
 
Son düzenleme:
Katılım
28 Şubat 2017
Mesajlar
69
Excel Vers. ve Dili
2016 Türkçe
VBA ekranında DEBUG menüsünde Step Into olmalı (adım adım çalıştırma menüsü bu).
Ms.Excel için kısayol tuşu F8 ama MAC için farklı olabilir elbette.
.
.Ekli dosyayı görüntüle 202878
tamamdır tekrar deniyorum burdan yazarım tekrar. bu arada biz tahsilat excelinden borç tutarı olarak b sütununu almıştık ancak bu F sütunu olacakmış bunu nasıl düzeltebilirim?
 
Katılım
28 Şubat 2017
Mesajlar
69
Excel Vers. ve Dili
2016 Türkçe
VBA ekranında DEBUG menüsünde Step Into olmalı (adım adım çalıştırma menüsü bu).
Ms.Excel için kısayol tuşu F8 ama MAC için farklı olabilir elbette.
.
.Ekli dosyayı görüntüle 202878
mac de kısa yol SHIFT+COMMAND+i tuşuyla kodu adım adım çalıştırıyormuşuz. adım adım çalıştırdığımda
Kod:
o.Cells.Clear
satırına geliyor.
bir daha bastığımda yani
Kod:
Set ds = Application.FileDialog(msoFileDialogFilePicker)
satırına geldiğimde hata alıyorum.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Tekrar merhaba.
Veri alınacak sütun ile ilgili değişiklik için ilgili satırları aşağıdakilerle değiştirin/ekleyin.
MAC olayı ile ilgileneceğim.
Rich (BB code):
Sub VERI_AL_DAGIT()
.............................
a = kitap.ActiveSheet.Range("A3:F" & kitap.ActiveSheet.Cells(Rows.Count, 1).End(3).Row).Value
.........................
        b(brn, 6) = 0 + Mid(a(sat, 6), 1, Len(a(sat, 6)) - 2)
    End If
Next
o.[A2].Resize(brn, 6) = b
o.Range("F2:F" & brn).NumberFormat = "#,##0.00 ;-#,##0.00 "
...................
End Sub
 
Katılım
28 Şubat 2017
Mesajlar
69
Excel Vers. ve Dili
2016 Türkçe
Tekrar merhaba.
Veri alınacak sütun ile ilgili değişiklik için ilgili satırları aşağıdakilerle değiştirin/ekleyin.
MAC olayı ile ilgileneceğim.
Rich (BB code):
Sub VERI_AL_DAGIT()
.............................
a = kitap.ActiveSheet.Range("A3:F" & kitap.ActiveSheet.Cells(Rows.Count, 1).End(3).Row).Value
.........................
        b(brn, 6) = 0 + Mid(a(sat, 6), 1, Len(a(sat, 6)) - 2)
    End If
Next
o.[A2].Resize(brn, 6) = b
o.Range("F2:F" & brn).NumberFormat = "#,##0.00 ;-#,##0.00 "
...................
End Sub
Kırmızı olanları değiştirip yeşiller ekliyorum değil mi hocam? Orneğin g sütunu olsaydı yine aynı işlemleri mi yapacaktım yani aynısını yapıp fleri g diye mi değiştirecektim
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Açıklama ve kod ilaveleri yapılmış yeni dosya ekte.
İnceleyiniz, denemeler yapınız.
Eklediğim belgeye, fareyle BURAYA tıklayarak da erişilebilir.
 

Ekli dosyalar

Katılım
28 Şubat 2017
Mesajlar
69
Excel Vers. ve Dili
2016 Türkçe
H
Açıklama ve kod ilaveleri yapılmış yeni dosya ekte.
İnceleyiniz, denemeler yapınız.
Eklediğim belgeye, fareyle BURAYA tıklayarak da erişilebilir.
Hocam cok cok tesekkürler. Tek bir adım kaldı kusura bakmayın belirtmeyi unutmuşum. Veriler aktarıldıktan sonra blok listelerine dağıtıyor ya. Şimdi listede borcu olmayanların karşısında 0.0tl yazıyor. Borcu olmayanların karşısı boş olsun istiyorum. İsim duracak ama karşısındaki borç kısmı boş olacak. Kodları inceledim ancak bulamadım. birde borç listesinden 10 tl üstü olanları alsın istiyorum. eğer borç miktarı 10 tlnin altındaysa veriyi almasın. ve 500 tlnin üzerindeyse avukatlık olduguna dair ibare olan "AVK" kelimesini borç hanesi yerine yazmasını istiyorum. şimdiden teşekkürler
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Belgedeki kod'da aşağıdaki kırmızı satırın yerine mavi olan satırları yapıştırın.
Rich (BB code):
        b(brn, 6) = sayi

        If sayi > 0 Then b(brn, 6) = sayi
        If sayi = 0 Then b(brn, 6) = ""
 
Üst