Çözüldü Kapalı Dosyada Aranan Firmaya Ait Verileri Alma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

FIlose

Normal Üye
Excel Versiyonu
Excel 2021
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Herkese merhaba,

Kapalı dosyadan veri alabiliyorum ancak aranan firmaya ait veriyi toplayarak alamıyorum. Yardımcı olabilecek arkadaşlara şimdiden çok teşekkür ediyorum.

Şöyle ki;
MAKBUZ dosyasındaki B3 sütununda yazılan firma adını KAPALI olan CARİ dosyasındaki F7 sütununda bulacak.

Bulduğu FİRMANIN H7 sütununda (BRÜT TUTAR) kaç adet varsa sadece TOPLAMINI Makbuz dosyasının N4 hücresine yazacak.

Yine bulunan FİRMANIN I7 sütununda (VERGİ) kaç adet varsa sadece TOPLAMINI buradaki N5 hücresine yazacak.

Saygıyla,
 

Ekli dosyalar

Çözüm
@FIlose

Esasında kodda bir sorun yok ancak veriler NOKTALI VİRGÜLLE ayrılmış metin olarak BİRLEŞTİRİLMİŞ şekilde alınıyor.
Bu metin de Veri Doğrulama Listesinin kaynağı oluyor.

Yani diyelim elle, bir hücreye veri doğrulama uygulayarak ay isimlerini aldırmak istiyoruz.
Birinci yöntem veri doğrulama ekranında, aralarına noktalı virgül koyarak yan yana ay isimlerini yazmak (OCAK;ŞUBAT;MART.... gibi),
diğer yöntem ise ay isimlerini başka bir alana alt alta yazıp, bu alanın adresini veri doğrulama ekranında =$A$1:$A$12 gibi yazmak.

Veriler başka alana yazılmadan, doğrudan veri doğrulama ekranına yan yana yazıldığında (ki verdiğim kod bunu yapıyor);
işlem ilk yapıldığında sorun yok gibi görünse de belge kaydedilip, kapatılıp tekrar...
Ek'teki dosyada kullandığım ADO Yöntemi ile kapalı dosyayı açmadan istediğiniz sonucu elde edebilirsiniz.
Dosyayı "Cari" isimli dosyanın olduğu klasöre kopyalayın, sonra oradan açarak çalıştırın.
Buradan direk "AÇ" yaparak çalıştırırsanız kodlar hata verecektir.

Yapılan işlemler:​

  • Firma Adı için hatalı ya da tam istenilen şekilde yazılması doğru sonuçlar getirmeyeceği için bir Açılan Liste eklendi.
  • Bu Açılan Liste'ye Cari isimli dosyadaki KİŞİ/UNVAN adları "BENZERSİZ" olarak aldırıldı.
  • Listeden seçilen isime göre istenilen adet ve toplamlar için sorgu hazırlandı.
  • FİRMA GETİR butonuna tıklandığı zaman beklenilen değerlerin ilgili hücrelere getirilmesi sağlandı.

Dikkat Edilmesi Gerekenler:​

  • Cari dosyasındaki Sayfa adının değiştirilmemesi gerekir
  • Cari dosyasındaki 6. satırdan başlayan verilerin üste ya da alta doğru taşınmaması gerekir.
  • Cari dosyasındaki 6. satırda bulunan başlıkların değiştirilmemesi gerekir.
Değiştirilirse kodlar hata verecektir.

Umarım işinize yarar.
İyi çalışmalar...
 

Ekli dosyalar

@FIlose
Ben de gereksiz uzatılmış WorksHeet_Change koduyla ilgili öneride bulunayım.
Mevcut Worksheet_Change kodunu aşağıdakiyle değiştirin.

VBA:
İçeriği görüntülemek için giriş yapmalısınız
(7 satır)
 
Sayın Admin ve Sayın Ömer Bey,

Emeğinize sağlık tam istenilen gibi oldu. Sadece MAKBUZ dosyasındaki ADET yerine CARİ'den gelen BRÜT toplamları gelmesi gerekir. Sanırım ben izah etmede eksiklik yaptım.

ADET ise eklemeniz daha da iyi oldu. Bu veriyi de X5:AA5 aralığı hücreleri birleştirilerek buraya yazılabilir.

Teşekkür eder, saygı ve hürmetle.
 
Dosyanızdaki açıklamalarda bir tanesinde kaç tane olduğu, bir tanesinde ise toplam rakam olduğu yazmaktaydı.
Kodlamalarınızı ona göre yazdım.

Dosyanız üzerinden "şu hücrede şu firma seçilmiş olacak, tooplamı şu olacak, şu hücreye yazılacak, adeti şu olacak şu hücreye yazılacak" şeklinde cevap yazarsanız düzeltelim.
 
Bir de veri alma ile ilgili alternatif cevap vereyim.

Şu kod işinizi görür.
-- İki belgenin aynı dizinde olduğu, veri alınacak belgenin adının Cari.xlx olduğu varsayıldı.
-- B3 hücresine yazılacak firma isminin Cari isimli belgedekiyle birebir aynı olması gerekir.
-- adet ve tutar nereye yazılacaksa, sondaki 2 kod satırında ilgili hücre adresilerni kendinize göre değiştirirsiniz.

VBA:
İçeriği görüntülemek için giriş yapmalısınız
(9 satır)
 
Sayın Admin Bey,

Çok haklısınız izah etmekte eksikliğim oldu. Cari dosyasında aranan firmanın BRÜT toplamları olacak diye kast ettim. MAKBUZ dosyasında BRÜT TUTAR diye belirttim ama sizi yanılttım kusura bakmayın lütfen.

N4 Hücresine, CARİ dosyasından o firmaya ait BRÜT toplamları,
N5 Hücresi doğru sorun yok.
ADET ise eklemeniz daha da iyi oldu. Bu veriyi de X5:AA5 aralığı hücreleri birleştirilerek buraya yazılabilir.

Saygıyla,
 
Merhaba Admin Bey,

Makbuz dosyasında 1. satıra gelen firma adları penceresine ait yazdığınız kodları benzer başka bir dosyada da kullandım. (BuÇalışmaKitabı)'na çift tıklayınca açılan kod sayfasına, aynı sayfa, aynı isim, aynı boyut ile ama firma isimleri gelmiyor. Muhtemelen ciddi bir eksiklik var anlayamadım.

Neyi eksik yaptım acaba?

Saygılar,
 
Admin Bey, esas sorunumu çözdünüz ellerinize sağlık. Bu o kadar önemli değil.

O dosyada Ömer Bey'in makrosunu kullanarak verileri çekmek, sizin de firma adlarını getiren makroyu beraber kullanmak istedim. Hem öğrenmek hem işimi çözmek adına.

İyi çalışmalar diliyorum.

Elleriniz dert görmesin.
 
@FIlose

Verdiğim veri alma koduyla aynı yöntem kullanılarak VERİ DOĞRULAMA LİSTESİ şu şekilde güncellenebilir.
Veri Doğrulama listesini güncellemek için B3 hücresine çift tıklamanız yeterli olur.

Cari belgesiyle bu belgenin aynı dizinde olması koşulu aynen devam doğal olarak.

VBA:
İçeriği görüntülemek için giriş yapmalısınız
(7 satır)
 
Ömer Bey Merhaba,

Sizin ilk yazdığınız makro ile veriler geliyor sorun yok. Bu yazdığınız son doğrulama kodunu ayrı bir modüle yazdım ve B3 hücresine çift tıkladığımda firma adı gelmiyor gelmiyor.
 
@FIlose

Esasında kodda bir sorun yok ancak veriler NOKTALI VİRGÜLLE ayrılmış metin olarak BİRLEŞTİRİLMİŞ şekilde alınıyor.
Bu metin de Veri Doğrulama Listesinin kaynağı oluyor.

Yani diyelim elle, bir hücreye veri doğrulama uygulayarak ay isimlerini aldırmak istiyoruz.
Birinci yöntem veri doğrulama ekranında, aralarına noktalı virgül koyarak yan yana ay isimlerini yazmak (OCAK;ŞUBAT;MART.... gibi),
diğer yöntem ise ay isimlerini başka bir alana alt alta yazıp, bu alanın adresini veri doğrulama ekranında =$A$1:$A$12 gibi yazmak.

Veriler başka alana yazılmadan, doğrudan veri doğrulama ekranına yan yana yazıldığında (ki verdiğim kod bunu yapıyor);
işlem ilk yapıldığında sorun yok gibi görünse de belge kaydedilip, kapatılıp tekrar açıldığında bu UZUN METİN sorun olarak size bir UYARI gösterilmesine neden olur.

Bu uyarının alınmaması için eklediğim belgede başka bir uygulama oluşturdum. Dosya içinde açıklama var.
Denersiniz.
 

Ekli dosyalar

Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
17
Üst