N

Çözüldü Çoklu Klasör-Alt Klasördeki CSV Belgeden Veri Alma

  • Konuyu başlatan Konuyu başlatan Noartist
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Noartist

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba Arkadaşlar,

Ekteki Rapor dosyasına csv dosyalarından elle veri girerek rapor oluşturuyoruz.

01-07 Eylul arasındaki sayfalara raporları elle kopyalıyorum buda zaman alan bir işlem.
Bu raporları bir programdan csv formatında alıyoruz, bende oradaki verileri elle ekte bulunan rapordaki günlük saylara ekliyorum ve sonra rapor sayfasına veriler işleniyor.

Günlük olarak farklı lokasyonlar için 7 ayrı csv raporu oluşuyor. Bende her ay için 1 klasör oluşturup Örneğin; Eylül klasörü oluşturup klasörün içine 01, 02, 03 aydaki gün sayısı kadar klasör oluşturup her klasöre günlük 7 lokasyonun csv dosyalarını kopyalıyorum.

Bu verileri bu klasörlerden okutmamız mümkünmü, örnek bir csv dosyasını iletiyorum. (CSV yüklenmediği için WeTransfer'e yükledim dosyayı)
Günlük bir klasörde 7 ayrı csv dosyası bulunuyor hepsi aynı formatta.

https://***/t-UiztNdeVUD

CSV dosyasında sadece aşağıdaki sütunlardaki verileri kullanıyoruz.
Active time (K) Sütunu)
Session start(N Sütunu)
Last activity (M Sütunu)


Şimdiden çok teşekkür ederim.
 

Ekli dosyalar

Tekrar merhaba Sayın @Noartist .

RAPOR belgesine bir adet yeni sayfa ekleyin ve bu sayfanın adını KONTROL olarak değiştirin.
Sayfadaki düğme ile CSV_VERİ_AL makrosunu ilişkilendirin ve mevcut kodların tümünü silip
aşağıdaki kodları VBA ekranında aynı yere yapıştırın.

Sonra belgeyi diğer bilgisayar üzerinden erişerek düğmeye tıklayın.
Sonuçta; KONTROL isimli sayfada, bir anlamda LOG kaydı gibi bir liste oluşacak ve makronun hangi aşamasında
hangi işlemin yaptığına dair, görseldeki gibi bir liste ortaya çıkacak.

Unbenannt.webp

Bakalım, KONTROL sayfasında siz ne göreceksiniz, makro hangi işlemi yapmış, hangi işlemi yapmamış ne göreceksiniz?
Bu kayıtlara göre belki bir çözüm yoluna gidilecek bir ipucu yakalanabilir.

CPP:
Görüntülemek için giriş yapmanız gerekmektedir.
(120 satır)
 

Ekli dosyalar

  • 1600517671318.webp
    1600517671318.webp
    26.9 KB · Görüntüleme: 30
Tekrar merhaba Sayın @Noartist .

RAPOR belgesine bir adet yeni sayfa ekleyin ve bu sayfanın adını KONTROL olarak değiştirin.
Sayfadaki düğme ile CSV_VERİ_AL makrosunu ilişkilendirin ve mevcut kodların tümünü silip
aşağıdaki kodları VBA ekranında aynı yere yapıştırın.

Sonra belgeyi diğer bilgisayar üzerinden erişerek düğmeye tıklayın.
Sonuçta; KONTROL isimli sayfada, bir anlamda LOG kaydı gibi bir liste oluşacak ve makronun hangi aşamasında
hangi işlemin yaptığına dair, görseldeki gibi bir liste ortaya çıkacak.

1600517671318.webp

Bakalım, KONTROL sayfasında siz ne göreceksiniz, makro hangi işlemi yapmış, hangi işlemi yapmamış ne göreceksiniz?
Bu kayıtlara göre belki bir çözüm yoluna gidilecek bir ipucu yakalanabilir.

CPP:
Görüntülemek için giriş yapmanız gerekmektedir.
(120 satır)
Merhaba @Ömer BARAN hocam, kontrol işlemini yaptım sonuçları ekteki gibidir.
 

Ekli dosyalar

  • masaüstü.webp
    masaüstü.webp
    145.5 KB · Görüntüleme: 7
  • server.webp
    server.webp
    78.4 KB · Görüntüleme: 6
Moderatörün son düzenlenenleri:
Bilgisayarda deıilim.
Gördüğüm kadarıyla TARİHle ilgili bir durum var.
İşlem yapılacak csv dosyanın adındaki tarih - 1 şeklinde bulunan tarih, Rapor sayfası 1 inci satırda var mı diye bir kodlama mevcut idi.
 
Sayın @Noartist .

Bir önceki mesajımda belirttiğim hususu netleştirelim isterseniz.
Rapor sayfasının 1'inci satırında bu belgenin ait olduğu haftanın günlerine ait tarihler var.

CSV belgeden veri alınacağı zaman, klasörde yer alan CSV belgenin adındaki
örneğin SessionGridReport_05-09-2020_00-00..... isimli belge için verilerin ait olduğu tarihin 04-09-2020 olduğu varsayılıyor.

CSV belgenin isminden hareketle, bu belgenin hangi güne ait olduğu aşağıdaki ilk kod satırlarıyla kontrol ediliyor.
Bu şekilde, CSV belgenin adı üzerinden tespit edilen tarih;
-- Rapor sayfasının 1'inci satırında varsa, bu CSV belgenin içine girili veriler çekiliyor.
-- Rapor sayfasının 1'inci satırında yoksa, bu CSV begeden veri alınmıyor.


VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(2 satır)

Sorun, belge adı ve içeriğindeki tarih bilgilerinin, Rapor sayfası 1'inci satırdakilerle aynı formatta olmamasıyla ilgili olabilir mi?
İsterseniz bir de CSV_VERİ_AL makrosunu aşağıda kırmızı renlendirdiğim şekilde değiştirerek deneyin.


VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(4 satır)

.
 
Merhaba @Feyzullah hocam, şöyle bir sıkıntımız ortaya çıktı Windows 10 Laptop veya Masaüstü bilgisayarda rapor çalışıyor CSV dosyasından veri alıyor ancak Server 2012 de çalıştırdığım zaman vidodaki gibi sorun yaşıyoruz.
Rapor dosyaları ekteki gibidir.

To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.



Sayın @Noartist videoya yeni bakabildim zaten Sayın @Ömer BARAN hocam konuyla ilgilenmiş, cevap vermiş, sağolsun.
Ömer hocamın cevapları mutlaka yeterli ve çözüm niteliğindedir.

Benim yazdığım kodlara sende bir şeyler katarak bir çalışma yapmışsın, gördüğüm kadarıyla Ömer hocam da söylemiş zaten tarih hatasıdır diye bende aynı fikirdeyim.

Kodların ilk halindeki If WorksheetFunction.CountIf(Sheets("RAPOR").[1:1], trh & "*") > 0 Then bu kodu aşağıdaki şekilde değiştirerek deneyin.


VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst