• DİKKAT !

    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 Dosya Yükleme tamamen ücretsizdir.

Çözüldü VBA ile kapalı dosyadan veri alma

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.

nunu446

Yeni Üye
Katılım
13 Nis 2021
Mesajlar
247
Aldığı beğeni
23
Excel V
Office 2019 EN
Konu Sahibi
Merhaba. Benim 4 tane excel dosyam var ve bunlardan biri TOTAL dosyası. TOTAL dosyasında bulunan verilerle aynı veriler diğer 3 dosyada da var. Soru şu ki, TOTAL dosyasına diğer 3 dosyadakı verilerin cem halinde uygun sıralara yazılması lazım. Örnek dosyaları aşağı bırakıcam.
 
eğer isim hesabat olarak kalmak zorundaysa orada belirttiğim
ə yerine " & ChrW$(601) & " yazma mantığı sorgudaki isim için de kullanılabilir
mesela
sorguda kullanılan
"SELECT * " & _
"FROM [Hesabat$] ....
yerine diyelim ki e harfi sorunluysa
"SELECT * " & _
"FROM [H" & ChrW$(101) & "sabat$] kullanılabilir belki
 
Konu Sahibi
eğer isim hesabat olarak kalmak zorundaysa orada belirttiğim
ə yerine " & ChrW$(601) & " yazma mantığı sorgudaki isim için de kullanılabilir
mesela
sorguda kullanılan
"SELECT * " & _
"FROM [Hesabat$] ....
yerine diyelim ki e harfi sorunluysa
"SELECT * " & _
"FROM [H" & ChrW$(101) & "sabat$] kullanılabilir belki
Şu dosyadakı kodu düz mü yazdım? burda dosya 5 tane
 
aslında veri alacağınız tüm dosyaları alt klasöre taşısanız kod çalıştığında o klasördeki tüm dosyalardan veri alabilir sizin tek tek isim yazmanıza gerek kalmaz
 
selectleri unutmuşsunuz )
her "Union all " satırının altına önce "SELECT * eklenmeli
"Union all "; sorgular birleştiriyor ,temel mantık select * from TabloAdı
sorgunuzda kırmızı satırlar yok onları eklemelisiniz dikkatimden kaçmıış başkaları da olabilir
SQL = "SELECT * " & _
"FROM (SELECT * " & _
"FROM [Hesabat$] IN """ & Adres1 & """ ""EXCEL 8.0;"" " & _
"Union all " & _
"SELECT * " & _
"FROM [Hesabat$] IN """ & Adres2 & """ ""EXCEL 8.0;"" " & _
"Union all " & _
"SELECT * " & _
"FROM [Hesabat$] IN """ & Adres3 & """ ""EXCEL 8.0;"" " & _
"Union all " & _
"SELECT * " & _
"FROM [Hesabat$] IN """ & Adres4 & """ ""EXCEL 8.0;"" " & _
"Union all " & _
"SELECT * " & _
"FROM [Hesabat$] IN """ & Adres5 & """ ""EXCEL 8.0;"" ) AS A " & _
"WHERE (((A.F1) Is Not Null)) OR (((A.F1)>0)) ;"
 
Tamam, ama dosya adlarını yazmalıyım dimi?
yok o zaman yazmanıza gerek kalmaz büyük bir ihtimalle Dir() fonksiyonu kurularak oluşturulacak döngü ile isimler otomatik olarak alına bilir
 
Konu Sahibi
selectleri unutmuşsunuz )
her "Union all " satırının altına önce "SELECT * eklenmeli
"Union all "; sorgular birleştiriyor ,temel mantık select * from TabloAdı
sorgunuzda kırmızı satırlar yok onları eklemelisiniz dikkatimden kaçmıış başkaları da olabilir
SQL = "SELECT * " & _
"FROM (SELECT * " & _
"FROM [Hesabat$] IN """ & Adres1 & """ ""EXCEL 8.0;"" " & _
"Union all " & _
"SELECT * " & _
"FROM [Hesabat$] IN """ & Adres2 & """ ""EXCEL 8.0;"" " & _
"Union all " & _
"SELECT * " & _
"FROM [Hesabat$] IN """ & Adres3 & """ ""EXCEL 8.0;"" " & _
"Union all " & _
"SELECT * " & _
"FROM [Hesabat$] IN """ & Adres4 & """ ""EXCEL 8.0;"" " & _
"Union all " & _
"SELECT * " & _
"FROM [Hesabat$] IN """ & Adres5 & """ ""EXCEL 8.0;"" ) AS A " & _
"WHERE (((A.F1) Is Not Null)) OR (((A.F1)>0)) ;"
Şu dosyada neden olmuyor?
 
bende sorun çıkarmadı aşağıdaki dosyayı dener misiniz?
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Son düzenleme:
Çözüm
rica ederim
iyi çalışmalar
Not: bölgesel ayarlardan UTF-8 etkinleştirilince dosya isimlerindeki farklı karakterler sorun çıkarmadı bende
ama başka bir soruda da etkinleştirince sorun çıkıyordu)
 
Dir() fonksiyonuyla dosya isimleri alınırken yerel karakterleri -ə gibi- almadığı için dosya adı alma döngüsü değiştirildi
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
nu fonksiyonda UTF-8 olmasa bile
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst