Excel; diğer excel çalışmalarından günlük değeri alma

webrettin

Müdavim
Müdavim
Katılım
16 Mart 2009
Mesajlar
1,676
Reaksiyon puanı
49
Puanları
228
Sorumun anlatımı biraz karmaşık gelebilir umarım açık anlatabilirim.

Ayrı klasörde tüm ayları içeren mevcut ay itibariyle günlük değerler girilmektedir, 12 ay için değerler hazırlanmıştır örnek için nisan ve mayıs ayına ait sadece tek hücrede bilgi bulunan iki ayı aldım.

PPN1.jpg



örneğin nisan ayına ait a1 hücresine bilgi girişi yapılmış....

AVZ4.jpg


söz konusu değer nisan ayına ve alttaki sayfa numarasına bakılacak olursa 1 nisana ait 2 nisan için sırasıyla takip edecek ay bitiminde diğer aya ait bilgi girişi yapılacaktır. benim sorunum bu aşamadan sonra oluşuyor. Başka klasörde bulunan aylardan ayrı bir çalışmam var ve hangi aya ait ve hangi gününde olduğunda o ay ve o güne ait a1 hücresine girilmiş olan değeri bu çalışmama aktarmak.

Aşağıdaki ayrı çalışmamda bugün() yazdırarak yanındaki hücrelere hangi gün =gün(B2); hangi ay =ay(C2) yazdırarak belirledikten sonra aşağısındaki hücreye verileri almasını istediğim aya ait çalışma adresini yazdırıyorum.

Kod:
=EĞER(C2=4;"C:\Users\kullanıcı\Desktop\aylar\nisan.xlsx";EĞER(C2=5;"C:\Users\kullanıcı\Desktop\aylar\mayıs.xlsx")) //iki aya ait örnektir

FJJL.jpg


Yazdırmış olduğum adresi ve onun yukarısındaki hangi güne ait olduğu verisi ile aylardan ayrı klasörde günlük istenen değer hücresine yazılmasını istediğim veriyi yazdırabilir miyim? örneğin 24 nisanda nisan ayına ait 24 isimli sayfanın a1 hücresini buraya aktarabilir miyim?
 

evowinds

Dekan
Katılım
2 Kasım 2008
Mesajlar
9,100
Reaksiyon puanı
174
Puanları
243
Zor bir seçenek seçiyorsunuz. Neden o yıla ait ayların bulunduğu tek bir çalışma sayfası düzenlemezsiniz anlamadım.

Şimdi karşınıza hem farklı bir çalışma sayfası ve o excel içerisinde istediğiniz değerleri barındıran sayfayı bulmanın yanı sıra bir de istediğin değerleri elde etmek kalıyor. Yani 3 işlem...Bu yapmak istediğin işlemler parametrik olmaz. Makro yazman gerekir.

İstediğin değerleri getirmek kolaydı o da Vlookup yada Hlookup Yatay ara-Düşey ara seçenekleri ile yapılır.

Ama bu değerleri bulman için hangi sheet ve hangi workbook ile çalışacağını bilmen veya buldurman gerekecek...
 

webrettin

Müdavim
Müdavim
Katılım
16 Mart 2009
Mesajlar
1,676
Reaksiyon puanı
49
Puanları
228
Makro ile yapabilmek için;

Range("F3").Select
ActiveCell.FormulaR1C1 = "'C:\Users\kullanıcı\Desktop\aylar\nisan.xlsx" + "(" + "1" + ")"!A1 satırda kırmızı ile işaretli yerlere aktaracağım verileri değişken hücrelere aktarıyorum, aşağıdaki resimde B2 ve A5 gün ve verinin alınacak adresi.

FJJL.jpg


kodlarda bulunan kırmızı fontla belirttiğim verileri ActiveCell.FormulaR1C1 = "'C:\Users\kullanıcı\Desktop\aylar\nisan.xlsx" + "(" + "1" + ")"!A1 yerlerine hücre tanımlaması yapamaz mıyım? adres yerine A5 hücresinden veri alacak gün için B2 hücresinden veri alacak ama visual bilgim tahmin ettiğiniz gibi iyi değil.
 
Üst