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

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

Merhaba Sayın @Noartist .

Önce birkaç şey sorayım; günlere ait sayfalarda,
-- user isimlerinin baş tarafındaki "domain\" kısmı, her zaman örnek belgedeki gibi ve sabit midir?
-- listeler, eklediğiniz örnek belgedeki gibi user ismi kriterine göre sıralanmış durumda mı olacak?
Yani bir user satırları bitip bir sonraki user'a geçtikten sonra önceki user'lardan birine ait satıra rastlanmayacak doğru mudur?
-- Bir user'a ait ActiveTime bilgisinin hesaplanması işleminin,
gün sayfalarında C sütunundaki bilgiler üzerinden toplanmasıyla, E-D farklarının toplanması arasında fark olur mu?


Ayrıca bir örnek sonuç görmek istiyorum; 01 Eylul sayfasındaki user3 için (bu user a ait bilgilerde saat çakışması görüyorum)
olması gereken sonuçları olması gereken konumlara (başlangıç, bitiş ve ActiveTime hücrelerine)
elle yazarak Yeni Rapor örnek belgesini tekrar yükler misiniz?
İsterseniz yeni örnek belgede user3 dışında bir de yine 01 Eylul sayfasında
user8 ve user10 için olması gereken sonuçları elle yazarak gösterin.

.
 
Merhaba Sayın @Ömer BARAN,

user isimlerinin baş tarafındaki "domain\" kısmı, her zaman örnek belgedeki gibi ve sabit midir?
*Evet üstad sabit olacak

listeler, eklediğiniz örnek belgedeki gibi user ismi kriterine göre sıralanmış durumda mı olacak?
*rastlanmayacak doğrudur.

Bir user'a ait ActiveTime bilgisinin hesaplanması işleminin,
gün sayfalarında C sütunundaki bilgiler üzerinden toplanmasıyla, E-D farklarının toplanması arasında fark olur mu?

*Aktive Time olarak sadece C sütunundakiler toplanacak

Rapor aldığımız programda çakışma olmuyor, user3 için o veriyi örnek olarak yazmıştım yanlış olmuş.

Örneği belirttiğiniz gibi düzenledim.
 

Ekli dosyalar

Tekrar merhaba.

Aşağıdaki kodu dener misiniz Sayın @Noartist .

CPP:
You must log in to view
(46 satır)

.Merha

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.
Merhaba Sayın @Ömer BARAN,

Öncelikle elinize emeğinize sağlık rapor güzel çalışıyor, önceki mevcut raporda olan iki özelliği bu rapora ekleyebilir miyiz ?

*Per No sayfasındaki personel numaralarını kullanıcı adına göre Rapor sayfasındaki A sütununa işlenmesi.

*01-07 Eylul sayfalarındaki verilerin rapor sayfasına işlenen satırları otomatik yeşil renkle boyanması.
Rapor sayfasında ismi olmayan kullanıcıların yani veri sayfalarında işlenmeyen satırların kırmızı ile boyanması.

Teşekkür ederim.
 
@Ömer BARAN, hocam elinize emeğinize sağlık rapor size gönderdiğim formatta çalışıyor ancak
Rapor sayfasına gerçek verileri kullanıcı isimlerini "isim.soyisim" şeklinde yazdım.
01-07 Eylul sayfalarındaki verileride A sütunundaki User Name bilgilerini "domain\isim.soyisim" şeklinde yazdım.
Kayıtlar Rapor sayfasına işlendi diyor ancak veri işlenmiyor.

Örnek domain kullanıcı adı: ozak\gokhan.ceyhan
 
Sorunun nedenini anlamak bakımından bir şeyler sorayım;
-- Personel No sayfasına da ilgili kullanıcı adlarını aynı şekilde yazdınız mı?
-- Varsa, Rapor sayfasında kodun veri yazacağı alandaki eski verileri silerek denediniz mi?
Önce ilk sorumdaki işlemi yaparak deneyin, sorun devam ederse, ikinci yazdığımı yaparak bir kez daha deneyin.

Bunları denedikten sonra hala belirttiğiniz sorun devam ediyorsa; sorunlu diye düşündüğünüz haliyle bir örnek belge ekleyin,
örnek üzerinden gidelim en iyisi.
 
Sorunun nedenini anlamak bakımından bir şeyler sorayım;
-- Personel No sayfasına da ilgili kullanıcı adlarını aynı şekilde yazdınız mı?
-- Varsa, Rapor sayfasında kodun veri yazacağı alandaki eski verileri silerek denediniz mi?
Önce ilk sorumdaki işlemi yaparak deneyin, sorun devam ederse, ikinci yazdığımı yaparak bir kez daha deneyin.

Bunları denedikten sonra hala belirttiğiniz sorun devam ediyorsa; sorunlu diye düşündüğünüz haliyle bir örnek belge ekleyin,
örnek üzerinden gidelim en iyisi.
Merhaba @Ömer BARAN, hocam, dediğiniz gibi Personel No ve "domain\" yerine şirket domainini yazınca sorunsuz çalıştı elinize emeğinize sağlık.

Bu raporla ilgili eğer mümkünse sizden bir isteğim daha olacak isteyip istememek konusunda sizlere zahmet vermemek için tereddütte kalmıştım, yardımcı olabilirseniz çok sevinirim.

Bildiğiniz üzere 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 yaptığımız rapordaki günlük saylara ekliyorum.

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ü ben size örnek bir csv dosyasını yükleyemediğim için wetransfer ile iletiyorum.

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.
 
Bence bu konudaki bir cevabımı ÇÖZÜM cevabı anlamında
işarteyin (mesajların sağ kenarında dikeylemesine konumda TİK işaret mevcut) ve bu konuyu cevaplara kapatalım.

Son isteiğnizi (tabi açıklama ve örnek belgeyi orada da ekleyerek) yeni bir konu açın.
Bu yeni konu için "çoklu klasör-alt klasördeki csv belgeden veri alma" gibi bir başlık kullanabilirsiniz.
Ben veya başka bir arkadaşımızdan, çözüm yolunda mesafe alınmasını sağlayacak cevap/cevplar gelecektir.

.
 
Merhaba Sayın @Ömer BARAN hocam,

Bu konuda sizden bir talebim daha olacak yardımcı olabilirseniz çok sevinirim.
01-07 Eylul sayfa isimlerini
Pazartes - Sali - Carsamba - Persembe - Cuma - Cumartesi - Pazar
olacak şekilde değiştirdik kodda değişiklik yapabilir miyiz ?

birde Rapor sayfasındaki saat bilgisinin formatını normal saat biçiminde değiştirebilir miyiz ?
Mevcut - 2h 36m 3s
Olmasını istediğimiz - 02:36:03
 

Ekli dosyalar

Bilgisayar başına geçtiğimde bakarım tabi.
Ancak keşke sayfaları, 3 harf veya 2 harf olarak aşağıdaki gibi adlandırsaydınız.
Pt, Sa, Ça, Pe, Cu, Ct, Pa
Pzt, Sal, Çar, Per, Cum, Cmt, Paz
Bunlarda Türkçe karakter düzeltmesi yapılmış hali de olabilirdi de.
 
Sayfa isimlerinin kısa olması, sağ alttaki kaydırma çubuğunun boyutuna göre değişmekle beraber,
aynı anda tüm sayfa isimlerinin alt tarafta görülebilmesi avantajını sağlar o kadar.
Yoksa 2 harf, 3 harf veya tam hali şeklinde olmasının bir zorluğu kolaylığı yok.

Önceki kod cevabımda, 1'inci satırda tarih içeren sütun sayısının belli olmayabileceğini düşünerek;
YIL olarak, içinde bulunulan yılı kullanarak 01.01 'den başlayıp 1 yılın günlerine ait tarihler üretiliyor ve
üretilen bu tarih 1'inci satırdaki başlık alanında aranıyor, bulunursa veri alma kısmına geçiliyor idi.

Şimdi ise günün adından hareket etmek istiyorsunuz ve saat bilgilerinin yazılacağı sütun sayısı SABİT anlaşılan ve 1 haftalık.
Bilgi alınacak sayfalardaki tarihlerle, haftanın günü şeklinde adlandırılmış sayfalardaki tarihler arasında eşleşme sorununn olmadığı varsayılacak demektir.

Sadece sayfanın adına bakılacak ve bu gün, Rapor sayfasının 1'inci satırındaki tarihlerden hangisinin
günüyle eşleşiyorsa o sütuna veriler toplanacak doğru mudur?
Tersten söylersem; 1'inci satırdaki başlıklarda yer alan tarihlerin haftanın hangi günü olduğu bulunacak ve
o ismi taşıyan sayfadan veriler alınacak öyle mi?

Doğru mu anlamışım?
Olayı net anlarsak çözüm her şekilde bulunur.
 
Tekrar merhaba Sayın @Noartist .

Anladığım kadarıyla cevabı vereyim.
Veri alınacak sayfa isimlerinin koddaki gibi olduğundan emin olun.
Aynı değilse;
-- ya, belgedeki sayfa adını koddaki gibi değiştirin,
-- ya da koddaki sayfa ismi listesinde değişiklik yapın

VBA:
You must log in to view
(41 satır)

.
 
Tekrar merhaba Sayın @Noartist .

Anladığım kadarıyla cevabı vereyim.
Veri alınacak sayfa isimlerinin koddaki gibi olduğundan emin olun.
Aynı değilse;
-- ya, belgedeki sayfa adını koddaki gibi değiştirin,
-- ya da koddaki sayfa ismi listesinde değişiklik yapın

VBA:
You must log in to view
(41 satır)

.
Merhaba @Ömer BARAN hocam,

Gönderdiğiniz kodu denedim ancak aşağıdaki hatayı aldım.

Ekli dosyayı görüntüle 5595

Bir önceki mesajınızla ilgili cevaplarım,

Şimdi ise günün adından hareket etmek istiyorsunuz ve saat bilgilerinin yazılacağı sütun sayısı SABİT anlaşılan ve 1 haftalık.
*Evet hocam raporları haftalık olarak değerlendiriyoruz.

Bilgi alınacak sayfalardaki tarih bilgisi aşağıdaki alana otomatik olarak gelmesini sağlayabilir miyiz?

Ekli dosyayı görüntüle 5596

Sadece sayfanın adına bakılacak ve bu gün, Rapor sayfasının 1'inci satırındaki tarihlerden hangisinin
günüyle eşleşiyorsa o sütuna veriler toplanacak doğru mudur?
*Evet hocam doğrudur.

*Rapor sayfasındaki saat bilgisinin 02:36:03 gözükmesi yeterli olacaktır.
 

Ekli dosyalar

  • 1600273252647.webp
    1600273252647.webp
    16.2 KB · Görüntüleme: 21
  • 1600273437241.webp
    1600273437241.webp
    5 KB · Görüntüleme: 25
Başlık satırının belgede hazır olduğunu varsaymıştım ve kodlamayı da ona göre yapmıştım.

Başlık satırındaki
01.10.2020 session....
gibi tarih metin birleşimi değerlerdeki tarih kısmı 10 karakter olarak yazılmışsa hata almamanız gerekir.

Hata alınan dosya paylaşırsanız bakayım.

Sonuçların SAAT olarak gösterilmesi işlemi gönoerdiğim son kodda zaten var.
 
Başlık satırının belgede hazır olduğunu varsaymıştım ve kodlamayı da ona göre yapmıştım.

Başlık satırındaki
01.10.2020 session....
gibi tarih metin birleşimi değerlerdeki tarih kısmı 10 karakter olarak yazılmışsa hata almamanız gerekir.

Hata alınan dosya paylaşırsanız bakayım.

Sonuçların SAAT olarak gösterilmesi işlemi gönoerdiğim son kodda zaten var.
@Ömer BARAN hocam, Hata aldığım dosya ekteki gibidir.
 

Ekli dosyalar

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
39
Üst