Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

horcrux

Site Üyesi
Excel Versiyonu
Excel 365
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba,
ekteki Kaynak dosyamda personellerin giriş çıkışları ile ilgi veriler mevcuttur. (data)
hedef dosyama a2 ve f2 satırlarındaki veriler doğrultusunda;
kaynak dosyasındaki 2 koşul sağladığında,
Sonucunda açılır pencerede G2 satırında personellerin isimleri çıkmasını istiyorum. Böyle bir şey mümkünmüdür.
Yardımınızı rica ederim.

Hedef Dosyam
1668700303659.png



Kaynak Dosyası:

1668700556438.png
 

Ekli dosyalar

Çözüm
@horcrux

Şu belgedeki yapı daha uygun oldu.
MODULE1'deki şu kısımda, kaynak verilerin olduğu dosya adını ve YOL bilgisini
kendi kaynak belgenize göre değiştirirsiniz.

k = ThisWorkbook.Path & Application.PathSeparator & "kaynak (4).xlsx"

Öncekinden farklı olarak veri yığınının büyüklüğüyle ilgili sınırlama da kaldırılmış oldu.

.
@horcrux
Anladığım kadarıyla, EKRAN isimli sayfanızda veriler çoğalacak. KAYNAK belgenin ise KAPALI olmasını istiyorsunuz.
Her hücre için farklı bir veri doğrulama listesi olmasını, tarih ve taşeron ismine göre de bu listelerin dinamik yapıda olmasını istiyorsunuz.

Kapalı belgedeki bilgiler kullanılarak böyle bir liste, ince işçilik isteyen bir kodlamayla oluşturulsa dahi
bu listeler neticede STRING türünden olacak bu durumda da oluşan tüm personel isimlerinin metin uzunluklarının toplamı
STRING değişkene ait karakter sayısı sınırına takılması çok muhtemel demektir.

Tavsiyem EKRAN isimli sayfayı KAYNAK belgeye eklemek ve belge içerisinde,
sayfalar arasında veri doğrulama listesi oluşturma yoluna gitmeniz yönünde olacak.

İlle de farklı belgede (hedef) bu işlem isteniyorsa da sonunda KAYNAK belgedeki tüm bilgilerin,
açık belgedeki gizli veya açık başka bir sayfaya alt alta listelenmesinden başka pratik bir çözümün olacağını sanmıyorum doğrusu.
 
@horcrux
Anladığım kadarıyla, EKRAN isimli sayfanızda veriler çoğalacak. KAYNAK belgenin ise KAPALI olmasını istiyorsunuz.
Her hücre için farklı bir veri doğrulama listesi olmasını, tarih ve taşeron ismine göre de bu listelerin dinamik yapıda olmasını istiyorsunuz.

Kapalı belgedeki bilgiler kullanılarak böyle bir liste, ince işçilik isteyen bir kodlamayla oluşturulsa dahi
bu listeler neticede STRING türünden olacak bu durumda da oluşan tüm personel isimlerinin metin uzunluklarının toplamı
STRING değişkene ait karakter sayısı sınırına takılması çok muhtemel demektir.

Tavsiyem EKRAN isimli sayfayı KAYNAK belgeye eklemek ve belge içerisinde,
sayfalar arasında veri doğrulama listesi oluşturma yoluna gitmeniz yönünde olacak.

İlle de farklı belgede (hedef) bu işlem isteniyorsa da sonunda KAYNAK belgedeki tüm bilgilerin,
açık belgedeki gizli veya açık başka bir sayfaya alt alta listelenmesinden başka pratik bir çözümün olacağını sanmıyorum doğrusu.
Ömer bey kaynak dosyası açık olacak, alta doğru takiben 1000 satırlık veri girişi mevcut. Personellerin bir iş emrine bağlanarak iş maliyeti / yevmiye oluşturmak. Tavsiyeniz benim için önemlidir.
 
@horcrux
Şu belgeyi bir deneyin bakalım.
Daha evvel de belirttiğim gibi ilgili listeyi hafızada tutup, hafızadaki bu listeyi veri doğrulama listesinde (STRING)
kullanmanın muhtemel uzunluk sorunu nedeniyle, veri doğrulama listesi hedef dosyanın AA sütununa yazdırılmaktadır.

İki belgenin aynı dizinde olduğunu varsaydım.
C sütununda hücreyi seçtiğinizde liste tazelenir, C sütununda toplu seçim yapılmayacağını düşündüm.
KAYNAK belgedeki yapının, ilk orijinal belgenizdeki gibi her tarihin ayrı sayfada olmasının yaratacağı bir sıkıntı yok.

Denersiniz.
 

Ekli dosyalar

@horcrux

Şu belgedeki yapı daha uygun oldu.
MODULE1'deki şu kısımda, kaynak verilerin olduğu dosya adını ve YOL bilgisini
kendi kaynak belgenize göre değiştirirsiniz.

k = ThisWorkbook.Path & Application.PathSeparator & "kaynak (4).xlsx"

Öncekinden farklı olarak veri yığınının büyüklüğüyle ilgili sınırlama da kaldırılmış oldu.

.
 

Ekli dosyalar

Çözüm
@horcrux

Şu belgedeki yapı daha uygun oldu.
MODULE1'deki şu kısımda, kaynak verilerin olduğu dosya adını ve YOL bilgisini
kendi kaynak belgenize göre değiştirirsiniz.

k = ThisWorkbook.Path & Application.PathSeparator & "kaynak (4).xlsx"

Öncekinden farklı olarak veri yığınının büyüklüğüyle ilgili sınırlama da kaldırılmış oldu.

.
hocam değerli vaktinizi ayırdığınız için öncelikle teşekkür ederim fakat 2 dosya da böyle bir hata aldım.

1673604387498.webp
 
Ben böyle bir hata almadım.
Kaldı ki denemeden cevap yazma, belge gönderme gibi bir şeyi de zaten yapmam.

KAYNAK belgenin YOL ve isim bilgisini doğru olarak uyguladığınızdan emin misiniz?
ThisWorkbook.Path yerine kaynak belgenin bulunduğu dizini yazacaksınız, dosya adını da çift tırnak arasında yazacaksınız.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst