Kapalı Dosyada Hesaplayıp Sonucu Açık Dosyaya Aktarma

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

mustafac

Kullanıcı
Katkı: %0
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Sayın İlgili, eklediği .rar dosyasında, kapalı ve açık adlarında iki dosya mevcut olup, kapalı dosya her daim kapalı kalacak ve açık dosyada ilgili alanda rakam değiştirdiğide, kapalı dosyada hesaplama yapıp, açık dosyada ilgili hücreye hesaplanmış veriyi dinamik olarak aktaracak. Açık dosya isimli dosya içeriğinde de konuya ilişkin açıklama yapmaya çalıştım.

İşlem sırasıyla şöyle;
1-açık dosya C2 hücresinde rakamı değiştirdiğimde , kapalı dosya C4 hücresindeki rakam değişecek ve hesaplamasını yaptıktan sonra, kapalı dosya M4 hücresindeki veriyi, açık dosya D2 hücresine dinamik olarak aktarması,

Konu hakkında yardımcı olunmasını talep ederim. Saygılarımla,​
 

Ekli dosyalar

Çözüm
Merhaba, kapalı bir dosyadaki formüller, bağlantı üzerinden yalnız son kaydedilmiş sonucu verir; dosya açılmadan yeniden hesaplanmaz. Ayrıca kapalı_dosya.xlsx içindeki brüt ücret hesabı (C4 = B4 + E4 + F4…) döngüsel başvuru içerdiği için yinelemeli hesaplama gerekir. Bu nedenle işlem, açık dosyada C sütununa ücret girildiğinde hesap dosyasını arka planda salt okunur açan, değeri yazıp hesaplatan, sonucu alıp dosyayı kaydetmeden kapatan bir makroyla yapılabilir.

Aşağıdaki kod açık_dosya içinde Sayfa1'in kod sayfasına yapıştırılmalıdır (sayfa sekmesine sağ tık → Kod Görüntüle):

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (4 satır). Giriş Yap
Ücret hesaplamasında YİNELEMELİ HESAPLAMAyı AKTİF hale getirmek kaçınılmaz.
Hesaplama işlemini başka belgede yaptırmanın, hız, kullanışlılık vs bakımından işlevsel olacağını da hiç sanmıyorum doğrusu.
Yeni veriye göre hesaplamanın yapılması için verinin ilgili belgeye yazılması, formüllerin çalışması için belgenin açık olması gerekir.

Daha da önemlisi şu ki;
ÜCRET hesaplamasıyla ilgili konularda, sitemizden daha çok kaynağa sahip başka bir site olduğunu da sanmıyorum açıkçası.
ÜCRETLİ/ÜCRETSİZ bu konuda çok sayıda çalışma mevcut.
Site içerisinde arama yaparsanız veya site içerisinde dolaşırsanız mutlaka birkaçına rastlarsınız.
 
Merhaba, kapalı bir dosyadaki formüller, bağlantı üzerinden yalnız son kaydedilmiş sonucu verir; dosya açılmadan yeniden hesaplanmaz. Ayrıca kapalı_dosya.xlsx içindeki brüt ücret hesabı (C4 = B4 + E4 + F4…) döngüsel başvuru içerdiği için yinelemeli hesaplama gerekir. Bu nedenle işlem, açık dosyada C sütununa ücret girildiğinde hesap dosyasını arka planda salt okunur açan, değeri yazıp hesaplatan, sonucu alıp dosyayı kaydetmeden kapatan bir makroyla yapılabilir.

Aşağıdaki kod açık_dosya içinde Sayfa1'in kod sayfasına yapıştırılmalıdır (sayfa sekmesine sağ tık → Kod Görüntüle):

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (60 satır). Giriş Yap

Kod nasıl çalışır?
  1. C2:C1000 aralığında bir hücre değiştiğinde çalışır; diğer sütunlardaki değişiklikler kodu tetiklemez.
  2. kapalı_dosya.xlsx, açık dosyayla aynı klasörde aranır; dosya yoksa uyarı verilir.
  3. Hesap dosyası salt okunur ve gizli pencereyle açılır, yinelemeli hesaplama geçici olarak etkinleştirilir.
  4. Girilen ücret, hesap dosyasının girdi hücresi olan B4'e (net ücret) yazılır; C4 ve diğer hücreler bu değerden hesaplanır. Sayfa hesaplatıldıktan sonra M4'teki işveren maliyeti aynı satırın D sütununa yazılır.
  5. Birden fazla hücre birlikte yapıştırılırsa her satır ayrı ayrı hesaplanır; C hücresi silinirse veya sayı değilse D hücresi temizlenir.
  6. Son olarak hesap dosyası kaydedilmeden kapatılır ve Excel'in yinelemeli hesaplama ayarları eski hâline getirilir. Hesap dosyası ekranda görünmez ve diskteki içeriği değişmez.

Notlar
  • Dosya makro içerdiği için Excel Makro İçerebilen Çalışma Kitabı (.xlsm) olarak kaydedilmelidir.
  • D sütunundaki mevcut DEVRİK_DÖNÜŞÜM bağlantı formülleri silinebilir; değeri artık makro yazar. Veri → Bağlantıları Düzenle ekranından eski bağlantı da kesilebilir.
  • Hesap dosyasının adı veya sayfa adı farklıysa koddaki "kapalı_dosya.xlsx" ve "Sayfa1" ifadeleri değiştirilmelidir.
  • Hesap dosyası o sırada Excel'de açıksa içindeki formüller bozulmasın diye hesaplama yapılmaz ve dosyanın kapatılması gerektiği bildirilir.
  • Örnek dosyada 8.506,40 net ücret için D2'ye 12.259,22 yazılır.
 
Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst