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
 
Katılım
25 Nisan 2007
Mesajlar
459
Excel Vers. ve Dili
2007
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.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
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
 
Katılım
7 Mayıs 2007
Mesajlar
4
Excel Vers. ve Dili
xp türkçe
sn. zfer ve sn. xxcell çok teşekkür ederim sorunum halloldu
 

Erdal

Altın Üye
Katılım
23 Ekim 2006
Mesajlar
1,048
Excel Vers. ve Dili
Ev: 2021 - Türkçe 32 Bit
İşyeri: 2016 - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
08-10-2029
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.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Dosyanızı ekleyebilirmisiniz.Ayrıca içinde hangi hücrenin hangi hücre ile toplanacağı ve nereye yazılacağıda bulunsun.
 

Erdal

Altın Üye
Katılım
23 Ekim 2006
Mesajlar
1,048
Excel Vers. ve Dili
Ev: 2021 - Türkçe 32 Bit
İşyeri: 2016 - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
08-10-2029
merhaba sn. zafer
ekli dosyada problemimi belirttim yardımlarınız için teşekkür ederim
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
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.
 

Erdal

Altın Üye
Katılım
23 Ekim 2006
Mesajlar
1,048
Excel Vers. ve Dili
Ev: 2021 - Türkçe 32 Bit
İşyeri: 2016 - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
08-10-2029
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.
 
Üst