• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

sayfa ekledikçe formüllerin yenilenmesi

Katılım
7 Mayıs 2007
Mesajlar
4
Excel Vers. ve Dili
xp türkçe
merhaba arkadaşlar
ben taşı veya kopyala diyerek sayfa kopyaladıkça oluşan yeni sayfadaki formüllerin yenilenmesini istiyorum. Sorunum hakkında ekteki dosyayı incelerseniz sevinirim. Yardımlarınız için şimdiden teşekkürler
 
Bu işlemi fonksiyonla yapabilmeniz için sayfa adı yapısının birbirini takip eden bir yapıda olması lazım.

Eğer sayfa adlarınız örnekteki gibi hakediş, hakediş (2), hakediş (3) .... hakediş (100) şeklinde gidiyorsa;

=+EĞER(EHATALIYSA(DOLAYLI("'hakediş ("&PARÇAAL(HÜCRE("DosyaAdı";$A$1);BUL("(";HÜCRE("DosyaAdı";$A$1))+1;BUL(")";HÜCRE("DosyaAdı";$A$1))-BUL("(";HÜCRE("DosyaAdı";$A$1))-1 )-1&")'!D5"));"";DOLAYLI("'hakediş ("&PARÇAAL(HÜCRE("DosyaAdı";$A$1);BUL("(";HÜCRE("DosyaAdı";$A$1))+1;BUL(")";HÜCRE("DosyaAdı";$A$1))-BUL("(";HÜCRE("DosyaAdı";$A$1))-1 )-1&")'!D5"))

formülünü girerseniz hakediş (3)'ten itibaren bir önceki sayfanın d5 hücresini alabilirsiniz.

Not. SAYFA ADI İÇİNDEKİ İLK PARANTEZİN İÇİNDEKİ SAYIYI BİR EKSİLTEN VE O SAYFAYA GİDEN BASİT BİR FORMÜLDÜR.
 
Merhaba

Makro ile alternatif.

Ekteki orneği inceleyiniz.

Eğer başka bir dosya kullanacaksanız.Aşağıdaki kodları sayfanın kod sayfasına yapıştırın sonra Taşı ve kopyala yapın aktif sayfanın D5 hücresindeki formülü inceleyin.

Kod:
Private Sub Worksheet_Activate()
On Error Resume Next
oncsyf = ActiveSheet.Index - 1
    oncsyfnm = Sheets(oncsyf).Name
    ActiveSheet.Range("d5").Formula = "='" & oncsyfnm & "'!d5-d3+d4"
End Sub
 
sn. zfer ve sn. xxcell çok teşekkür ederim sorunum halloldu
 
sn. zafer
vermiş olduğunuz olduğunuz kodlar benimde bir sorunumu çözdü çok teşekkür ederim yalnız benim şöyle bir problemim var bu kodları ben bir çalışma sayfasında 9-10 kez kullanmak istiyorum. Yani verdiğiniz koda göre konuşursak siz yukarıdaki kodda bir evvelki sayfanınd5 hücresinden aktif sayfadaki d3hücresini çıkarmış ve d4 hücresini toplamışsınız.Bende değişik her kodda değişik işlemler yapmak istiyorum. Mesala bir kodda bir evvelki sayfanın A4 değeriyle aktif sayfanın c3 değerini toplamak, diğer kodda bir evvelki sayfanın e3 değeriyle aktif sayfanın r5 değerini çarpmak gibi.
Vermiş olduğunuz kodları kendime uyarladığımda ilk önce aşağıdaki hatayı verdi;
"Compile error
Ambiguous name detected: Worksheet_Active"
Bende bunun üzerine "Private Sub Worksheet_Activate()" kısmını "Private Sub deneme ()" olarak değiştirdim bu sefer hata vermedi ama kodda çalışmadı sadece ilk kopyaladığım kod çalışıyor diğeri çalışmadı. Bana bu konuda yardımcı olabilirmisiniz şimdiden yardımlarınız için teşekkür ederim.
 
Merhaba

Dosyanızı ekleyebilirmisiniz.Ayrıca içinde hangi hücrenin hangi hücre ile toplanacağı ve nereye yazılacağıda bulunsun.
 
merhaba sn. zafer
ekli dosyada problemimi belirttim yardımlarınız için teşekkür ederim
 
Merhaba

Formülleriniz dahada fazlaşacağından ve sabit bir sayfa ismi olmadığından makro ile değilde işlevler ile çözülmesi daha uygun gibi..

Kopyalayıp yeni oluşturduğunu sayfanın A1 hücresine bir önceki sayfanın ismini yazın.
Sonra
Örnek:
A7 hücresine aşağıdaki formülü girin.
=DOLAYLI(A1&"!A7")+S10
Formülün açılımı aşağıdaki gibi olacaktır ve A1 de yazan sayfanın A7 hücresindeki değer ile bulunduğunuz sayfanın S10 hücresindeki değeri toplayacaktır.
Formülleri kendinize uyarlayabilirsiniz.
=Sayfa1!A7+S10

Ekli dosyayı inceleyiniz.
 
sn. zafer
ilginiz ve alakanız için çok teşekkür ederim hem problemimi çözdüm hemde birşeyler daha öğrendim. Çok teşekkür ederim ALLAH sizden razı olsun.
 
Geri
Üst