N

Çözüldü Mevcut Makro Dosyasında Geliştirme Yardımı

  • Konuyu başlatan Konuyu başlatan Noartist
  • Başlangıç tarihi Başlangıç tarihi

Noartist

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

Ekteki Mevcut Rapor dosyasında biraz geliştirmeler yapmam gerekiyor.

Örnek rapor ekteki Yeni_Rapor bu rapor mevcut raporla hemen hemen aynı olacak ancak;
Yeni Rapor da Total time ve Idle time gözükmeyecek sadece Active time gözükecek.
Yeni raporda kullanıcının İlk Session start saati ve Son Last activity saati gözükecek.

Yeni Raporda her gün için ayrı Sheet'ler oluşturdum Sheet isimlerini haftalık olarak elle değiştireceğim, verileri Sheet'lere elle kopyalayacağım buradaki verileri Rapor sayfasındaki ilgili tarihlere işlemesi gerekecek.

Bu konuda değerli yardımlarınızı rica ederim şimdiden çok teşekkür ederim.
 

Ekli dosyalar

-- Gün sayfalarında verilerin dosyada hazır olacağını düşünmüştüm. oysa sadece Pazartesi dolu, diğerleri boş. Hatanın nedeni bu.
-- Pazartesi gününe ait verileri alamama nedeneniz ise RAPOR sayfası B sütunundaki user isimleriyle
Pazartesi sayfasındaki user isimlerinin eşleşmemesi.

-- Rapor sayfası A sütununa personel numaralarının alınmasının koşulu da;
Rapor sayfasındaki user isimleriyle Per No sayfasındaki user isimlerinin eşleşmesidir.

Gün sayfalarının boş olma olasılığı varsa koda aşağıda kırmızı renklendirdiğim kısımları ekleyin.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(6 satır)
 
-- Gün sayfalarında verilerin dosyada hazır olacağını düşünmüştüm. oysa sadece Pazartesi dolu, diğerleri boş. Hatanın nedeni bu.
-- Pazartesi gününe ait verileri alamama nedeneniz ise RAPOR sayfası B sütunundaki user isimleriyle
Pazartesi sayfasındaki user isimlerinin eşleşmemesi.

-- Rapor sayfası A sütununa personel numaralarının alınmasının koşulu da;
Rapor sayfasındaki user isimleriyle Per No sayfasındaki user isimlerinin eşleşmesidir.

Gün sayfalarının boş olma olasılığı varsa koda aşağıda kırmızı renklendirdiğim kısımları ekleyin.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(6 satır)
@Ömer BARAN hocam, dediğiniz gibi değişiklikleri yaptıktan sonra raporu sadece Pazartesi gününe veri girip raporla dediğimde Kayıt Tamamlandı diyor ancak sadece Per No işledi saat bilgilerini işlemedi. Tüm günlere veri girip çalıştırdığımda bu sefer saat bilgilerini işledi. Dediğiniz gibi gün sayfalarının boş olma olasılığı bulunmakta, en son kullandığım kod aşağıdaki gibidir.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(42 satır)
 
Son dosYanıza bakmadım.
Bu cevaba eklediğim belgede, Sayın @Feyzullah 'ın verdiği CSV'den veri alma işlemiyle,
benim, belgedeki gün sayfalarındaki bilgileri RAPOR sayfasında özetleme makrosunu entegre ettim.

Eklediğim belgeyi bir deneyin bakalım.
Belge içerisine açıklama yazdım.
 

Ekli dosyalar

Son dosYanıza bakmadım.
Bu cevaba eklediğim belgede, Sayın @Feyzullah 'ın verdiği CSV'den veri alma işlemiyle,
benim, belgedeki gün sayfalarındaki bilgileri RAPOR sayfasında özetleme makrosunu entegre ettim.

Eklediğim belgeyi bir deneyin bakalım.
Belge içerisine açıklama yazdım.
Teşekkürler @Ömer BARAN hocam, bahsettiğiniz gibi çalışıyor rapor, gün sayfası otomatik olarak oluşuyor ancak gün sayfasını manüel oluşturduğumuzda aşağıdaki hatayı veriyor.

Ekli dosyayı görüntüle 5611
 

Ekli dosyalar

  • 1600357223332.webp
    1600357223332.webp
    18.6 KB · Görüntüleme: 17
Bir tane küçücük NOKTA karakterinin gücüne bakın.

CSV VERİAL makrosunda aşağıdaki kırmızı renklendirdiğim yere 1 adet NOKTA ekmeyerek deneyin.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(2 satır)
 
Bir tane küçücük NOKTA karakterinin gücüne bakın.

CSV VERİAL makrosunda aşağıdaki kırmızı renklendirdiğim yere 1 adet NOKTA ekmeyerek deneyin.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(2 satır)
Merhaba @Ömer BARAN hocam, şöyle bir durum söz konusu, yeni fark ettim gün sayfalarındaki Active time saat toplamla rapor sayfasındaki toplamlar birbirini tutmuyor, kontrol edebilirseniz çok sevinirim. İki dosyayı ekte gönderiyorum.
 

Ekli dosyalar

-- Tarih konusu: gördüğüm kadarıyla, RAPOR sayfasındaki 1'inci satırda yer tarihler 10 haneli olmayabiliyor.
Hataya neden olmaması bakımından öncelikle, RAPORLA2 isimli kodda
For rsut=.... satırından hemen sonraki gun = Weekday......
satırını aşağıdaki gibi düzeltin.

gun = Weekday(CDate(Split(r.Cells(1, rsut), " ")(0)), 2)

-- SAAT sonucu: Mevcut örnek dosyadaki herhangi bir personel için olması gereken sonucu, haricen hesaplayıp iletir misiniz?

.
 
-- Tarih konusu: gördüğüm kadarıyla, RAPOR sayfasındaki 1'inci satırda yer tarihler 10 haneli olmayabiliyor.
Hataya neden olmaması bakımından öncelikle, RAPORLA2 isimli kodda
For rsut=.... satırından hemen sonraki gun = Weekday......
satırını aşağıdaki gibi düzeltin.

gun = Weekday(CDate(Split(r.Cells(1, rsut), " ")(0)), 2)

-- SAAT sonucu: Mevcut örnek dosyadaki herhangi bir personel için olması gereken sonucu, haricen hesaplayıp iletir misiniz?

.
Merhaba @Ömer BARAN hocam, bahsettiğiniz gibi değişiklik yaptım, düzelme olmadı.
Örnek ekteki gibidir.
Kırmızı tablodaki sonuçlar olması gereken.
 

Ekli dosyalar

  • Untitled.webp
    Untitled.webp
    111.5 KB · Görüntüleme: 2
Merhaba Sayın @Ömer BARAN,
...................
listeler, eklediğiniz örnek belgedeki gibi user ismi kriterine göre sıralanmış durumda mı olacak?
*rastlanmayacak doğrudur.
Yukarıda alıntıladığım 3 numaralı mesajda, benim 2 numaralı mesajda sorduğum soruya verdiğiniz olumlu cevap,
anladığım kadarıyla, gün sayfalarını elle hazırladığınızda geçerliydi.
CSV belgeden alınan verilerde listeler user adına göre sıralanmış değil.

O halde; RAPORLA2 isimli makroda;
aşağıda kırmızı renklendirdiğim satırların arasına yeşil renklendirdiğim satırı eklerseniz sorun kalmaz.

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

.
 
Yukarıda alıntıladığım 3 numaralı mesajda, benim 2 numaralı mesajda sorduğum soruya verdiğiniz olumlu cevap,
anladığım kadarıyla, gün sayfalarını elle hazırladığınızda geçerliydi.
CSV belgeden alınan verilerde listeler user adına göre sıralanmış değil.

O halde; RAPORLA2 isimli makroda;
aşağıda kırmızı renklendirdiğim satırların arasına yeşil renklendirdiğim satırı eklerseniz sorun kalmaz.

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

.
Üstad elinize emeğinize sağlık düzeldi olması gerektiği gibi çalışıyor.
Sıralanmış sanıyordum değilmiş bir kullanıcı gün içerisinde farklı server da çalışınca sıra karışıyor yeni fark ettim.
 
@Ömer BARAN hocam, rapor her yönüyle masaüstü veya laptopta çalışıyor ama Raporu server da çalıştırdığımda videodaki gibi bir durum oluşuyor.

To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
 
RAPOR sayfasındaki düğme ile;
-- Gün sayfalarındaki verileri elle kopyala yapıştır yaparak vs. hazır etmişseniz RAPOR2 makrosunu,
-- CSV dosyadan veri alarak işlem yapacaksanız CSV_VERİ_AL makrosunu
ilişkilendirmelisiniz.

Rapor sayfasındaki düğmeye sağ tıklayıp MAKRO ATA yı tıklayıp, açılan küçük ekranda makro adını seçerek
hangi makronun tetikleneceğini seçebilirsiniz.
CSV_VERİ_AL makrosu kendi içerisinde RAPOR2 makrosunu çalıştırıyor.

.
 
RAPOR sayfasındaki düğme ile;
-- Gün sayfalarındaki verileri elle kopyala yapıştır yaparak vs. hazır etmişseniz RAPOR2 makrosunu,
-- CSV dosyadan veri alarak işlem yapacaksanız CSV_VERİ_AL makrosunu
ilişkilendirmelisiniz.

Rapor sayfasındaki düğmeye sağ tıklayıp MAKRO ATA yı tıklayıp, açılan küçük ekranda makro adını seçerek
hangi makronun tetikleneceğini seçebilirsiniz.
CSV_VERİ_AL makrosu kendi içerisinde RAPOR2 makrosunu çalıştırıyor.

.
Belirttiğiniz gibi denedim hocam ilk başta bende öyle düşündüm ancak durum değişmedi local bilgisayarımda çalışan dosyayı birebir sunucuya kopyalayıp aynı şekilde çalıştırdığımda böyle oluyor. İlk çalışma yaptığımız 01-07 Eylül olan dosya sunucuda çalışıyordu.
 
Server işlerinden pek anlamam.
Bilgisi olan arkadaşlarımız fikrini belirtecektir.

Konunun netleşmesi bakımından bir şey soracağım ama umarım yanlış bir cümle kurmam.
Belge, ağ üzerinden erişilerek başka bilgisayar üzerinden mi kullanılacak?
 
Server işlerinden pek anlamam.
Bilgisi olan arkadaşlarımız fikrini belirtecektir.

Konunun netleşmesi bakımından bir şey soracağım ama umarım yanlış bir cümle kurmam.
Belge, ağ üzerinden erişilerek başka bilgisayar üzerinden mi kullanılacak?
Belge, ağ üzerinden erişilerek başka bilgisayar üzerinden mi kullanılacak?
*Evet hocam ağ üzerinden erişilerek başka bilgisayar üzerinden kullanılacak.
 
Fikri olan arkadaşlarımız mesaj yazacaktır.
Tek satırlık, tek user a ait bilginin oldiğu bir csv dosya oluşturun ve belgenin adı da rapor sayfasındaki tarih aralığında (ilk ve son gün olmasın) olsun.
İçindaki user bilgisinin rapor sayfasında ve per no sayfasında birebir aynı olduğundan emin olun.
Blgeye ağ üzerinden erişip, vba ekranını açarak
F8 tuşuna aralıklarla basrak csv verialma makrosunu adım adım çalıştırın.

Bakalım ne olacak?
 
Fikri olan arkadaşlarımız mesaj yazacaktır.
Tek satırlık, tek user a ait bilginin oldiğu bir csv dosya oluşturun ve belgenin adı da rapor sayfasındaki tarih aralığında (ilk ve son gün olmasın) olsun.
İçindaki user bilgisinin rapor sayfasında ve per no sayfasında birebir aynı olduğundan emin olun.
Blgeye ağ üzerinden erişip, vba ekranını açarak
F8 tuşuna aralıklarla basrak csv verialma makrosunu adım adım çalıştırın.

Bakalım ne olacak?
Dediğiniz gibi denedim yine aynı hocam.
 
Üst