Çözüldü Sayfadan sayfaya veri aktarımında hücre içeriğinin değiştirilmesi

zcn43

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
İyi günler.
Ekteki dosyada "günlük liste" sayfasındaki verileri makro kodu yöntemiyle "puantaj defteri" sayfasına aktarıyorum. günlük liste sayfasındaki "İzin Türü" sütunundaki verileri puantaj defteri sayfasına aktardığım anda bu verilerin, verdiğim örnekteki gibi farklı isimlere dönüşmesini sağlayabilir miyim?
Teşekkürler.
 

Ekli dosyalar

İşlemleri daha da hızlandırmak için tekrar bakarım.
Bu aşamada önemli olan istenilen sonuçların alınması.

Şimdilik; aşağıdaki kod satırlarını ilgili yerlere ekleyerek bir deneyin bakalım.

VBA:
You must log in to view content
(14 satır)
 
Eklediğiniz belgede ben 7-8 saniyede sonuç aldım.
Süre ölçümü için;
-- kodların en başına zaman=timer diye yeni bir satır ekleyin
-- MsgBox satırını da aşğıdakiyle değiştirin.

Kod:
You must log in to view content
(2 satır)
 
Ekli dosyayı görüntüle 7381
Bu benim bilgisayarla alakalı demek ki hocam. Bu süre uzun değil zaten benim için. Siz 7-8 saniye de sonuç aldıysanız Sorum çözülmüştür.
 

Ekli dosyalar

  • Adsız.webp
    Adsız.webp
    10.8 KB · Görüntüleme: 14
Bu durumu ilk kez yazıyorsunuz.
O halde şöyle diyebilir miyiz; Günlük Liste sayfasında C2 hücresindeki tarih neyse,
PUANTAJ sayfasında işlem yapılacak tarih de o tarihe ait sütun öyle mi?

Bir de belgenizi asıl yavaşlatan şeyin KOŞULLU BİÇİMLENDİRME yoğunluğu olduğunu belirteyim.
Hala saat verisine göre koşullu biçimlendirmeler duruyor. BOŞ hücre için KOŞULLU BİÇİMLENDİRMEye gerek var mı?
BOŞ hücreleri alanın bütününü seçip TEK TIK ile renklendirebilirsiniz (bana kalırsa boş hücreler renkli olmamalı).
Yeni duruma göre 1, 2, 3, T, MZ, ID .... gibi değerlere yönelik KOŞULLU SİÇİMLENDİRME uygulayabilirsiniz.
Yine de bu yoğunlukta koşullu biçimlendirme belgenizde yacaşlamaya yol açacaktır bunu bilin. Tercih sizin elbette.

.
 
Bu durumu ilk kez yazıyorsunuz.
O halde şöyle diyebilir miyiz; Günlük Liste sayfasında C2 hücresindeki tarih neyse,
PUANTAJ sayfasında işlem yapılacak tarih de o tarihe ait sütun öyle mi?

Bir de belgenizi asıl yavaşlatan şeyin KOŞULLU BİÇİMLENDİRME yoğunluğu olduğunu belirteyim.
Hala saat verisine göre koşullu biçimlendirmeler duruyor. BOŞ hücre için KOŞULLU BİÇİMLENDİRMEye gerek var mı?
BOŞ hücreleri alanın bütününü seçip TEK TIK ile renklendirebilirsiniz (bana kalırsa boş hücreler renkli olmamalı).
Yeni duruma göre 1, 2, 3, T, MZ, ID .... gibi değerlere yönelik KOŞULLU SİÇİMLENDİRME uygulayabilirsiniz.
Yine de bu yoğunlukta koşullu biçimlendirme belgenizde yacaşlamaya yol açacaktır bunu bilin. Tercih sizin elbette.

.
Haklısınız hocam. Sayın cakarem in verdiği ilk kod ile ilk isteğim gerçekleşince daha sonraki isteklerimde bu ayrıntıyı atlamışım. Evet dediğiniz gibi C2 hücresindeki tarih neyse puantaj sayfasında ki ilgili tarihin olduğu sütuna aktarmalıyım verileri. Koşullu biçimlendirmeleri dediğiniz gibi düzenliyorum.
Düzeltme: C2 hücresindeki tarih değil de C sütununda görünen tarihler desek daha doğru olur. Bazen tek seferde 2-3 günlük farklı tarihli puantajı atabilmek için.
 
Moderatörün son düzenlenenleri:
Tek tarih deyince oluşturulan tüm yapıyı yok etmiştiniz,
şimdi 1'den fazla tarih de olabilir dediğinizde, TEK SÜTUN yapısını da yok etmiş oluyorsunuz.

Uygun zamanda dosyanıza tekrar bakarım.
.
 
Denemenizi eklediğim belge üzerinde, BARAN ismini verdiğim sayfa üzerindeki LOGO'ya tıklayarak yapın.
Günlük sayfasında yer alan tarihler hangileriyse o sütunlarda işlem yapılır.
Unutmamanız gereken şey. Önce işlem yapılacak tarihe ait sütunda T dışındaki veriler temizlenir,
ardından Günlük sayfasındaki verilere göre sonuçlar yazdırılır.
 

Ekli dosyalar

Sayın @Ömer BARAN hocam son gönderdiğiniz kodla ilgili, eğer kodun yapısını tamamen değiştirmeyecekse, basit bir düzeltme yapabilmeniz mümkün mü?
Günlük Liste C sütunundaki tarihe göre verileri aktardığımda, aynı tarihe daha önce aktarılmış veriler varsa onlar siliniyor. Sadece yeni aktardığım veriler görünüyor Puantaj defteri ilgili tarih sütununda. Aynı tarihe tekrar puantaj aktarma sebebimde o günkü puantaj da sonradan meydana gelen değişiklikleri o tarihteki sütuna ilave etmek. Örneğin o gün içinde yevmiyesi boş kişilere izin işlediğimizde bu izinleri ilave etmek gibi.
 
Hiçbir şey imkansız değil.
Önemli olan KOD'a, işlemin ilgili tarihe ilk veri girişi mi olduğu yoksa düzeltme/ekleme mi olduğunun anlatılması.

Aklıma gelen çözüm; kod çalışmaya başladığında (her tarih için ayrı ayrı olabilir ya da tümü için geçerli olmak üzere bir kez olabilir)
"yapılacak kayıtlar GÜNCELLEME kaydı mıdır?" gibi karşınıza bir soru ekranı getirilir, cevap olumlu ise eski veriler silinmez, hayır cevabı verildiğinde yeni veri girişi işlemi olduğu varsayılır, iptal dediğinizde ise işlem yapılmadan kod sonlandırılır.

Tek soru mu, her tarih için ayrı ayrı soru mu uygundur onu siz düşüneceksiniz.

Cevabınıza göre, uygun zamanda kodlar tekrar gözden geçiririm.

.
 
Hiçbir şey imkansız değil.
Önemli olan KOD'a, işlemin ilgili tarihe ilk veri girişi mi olduğu yoksa düzeltme/ekleme mi olduğunun anlatılması.

Aklıma gelen çözüm; kod çalışmaya başladığında (her tarih için ayrı ayrı olabilir ya da tümü için geçerli olmak üzere bir kez olabilir)
"yapılacak kayıtlar GÜNCELLEME kaydı mıdır?" gibi karşınıza bir soru ekranı getirilir, cevap olumlu ise eski veriler silinmez, hayır cevabı verildiğinde yeni veri girişi işlemi olduğu varsayılır, iptal dediğinizde ise işlem yapılmadan kod sonlandırılır.

Tek soru mu, her tarih için ayrı ayrı soru mu uygundur onu siz düşüneceksiniz.

Cevabınıza göre, uygun zamanda kodlar tekrar gözden geçiririm.

.
Tam olarak istediğim Düzeltme/Ekleme yapması. Aynı Sicil No lu kişiye aynı tarihe ait farklı veri gönderdiğimde son gönderdiğim veriyi işleyip güncellemesi aynı şekilde daha önceden hücresi boş olan kişiye veri gönderdiğimde( izin ya da giriş zamanı ) yeni veriyi eklemesi. Yani günlük listede ne kadar Sicil no ya ait veri varsa sadece o Sicil no lara ait hücreler üzerinde ekleme/düzeltme yapması.
Puantaj defterinde 1230 adet sicil no kişi var ama Günlük listede 100 sicil no ya ait veri varsa sadece O sicillere ve tarihlerine gidip son veriyi yerleştirmesi. Kodun puantaj defterindeki Sicil No yu günlük listeden bul varsa tarihine göre giriş zamanını, giriş zamanı 00:00:00 ise izin türünü, hem giriş zamanı 00:00:00 hem de izin türü boş ise ve o hücrede T harfi yok ise hücreyi boş bırak şeklinde çalışması lazım.
Anladığım kadarıyla şuan kod tüm sütun üzerinde işlem yapıyor o yüzden aynı tarihe veri gönderdiğimde son verileri işlerken daha önceki işlenmiş verileri tekrar günlük listeye eklemediysem o verileri siliyor. Sanırım aktarım sırasında sicile ve tarihe göre tek tek hücre güncellemesi yapması benim sorunumu çözecek hocam. Tesekkurler
 
Moderatörün son düzenlenenleri:
Daha önce aktarılmış verileri silinmedi☑️
Daha önce aktarılmış veriler, tekrar üzerine gelen verilerle güncellendi☑️
T harfleri siliniyor.
Günlük listedeki bir sicilin Defterdeki T harfi, Giriş zamanı 00:00:00 da olsa 07:40 da olsa siliniyor. (Boş kalıyor)
 
Tüm veri aktarımı durumlarına göre denedim hocam. Sorunsuz çalışıyor. Ellerinize çok çok teşekkür ederim tekrar.
 
Moderatörün son düzenlenenleri:
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
42
Üst