Excelde formüller

Bu başlık kilitlidir. Yeni mesajlar gönderilemez veya mevcut mesajlar düzenlenemez.
xternet
14-03-2004, 00:04   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
14 mesaj
Kayıt Tarihi:Kayıt: Mar 2004

Sorum excelde formül kullanan arkadaşlara.Bildiğiniz gibi “ =sayfa1!G6 “ benzeri formüllerle çeşitli sayfalardaki hücre bilgilerini başka sayfalara taşıyabiliyoruz. Böylece sayfa1 G6 da ki bilgiyi  bir çok sayfanın istediğimiz hücresine yönlendirebiliyoruz. Bu durumda sayfa1 in g6 hücresinde yapacağımız bir değişiklik, bu hücreye başvuran tüm sayfalara yansıyor.
Benim sormak istediğim bir sayfadaki formülü başka sayfalara yansıtabilir miyiz? Örneğin sayfa1 in C1 hücresine “  =Topla(A1;B1) “ yazmış olayım. Daha sonra bu formülü sayfa2,sayfa3,…,sayfa20 nin C1 hücresine öyle bir yansıtayım ki, her sayfanın c1 hücresinde o sayfanın a1 ve b1 inin toplamı olsun. Yani sayfa1 de a1 20, b1 30 ise c1 50, sayfa 2 de a140, b1 50 ise c1 90 … olsun. Böylece ben sadece sayfa1 in c1 hücresindeki formülü  “ =ortalama(a1;b1) “ olarak değiştirdiğimde sayfa2 de c1 25, sayfa3 de c1 45 …olsun.
Bana bu konuda yardımcı olursanız çok sevinicem. Herkese selam.

hasanyasin
14-03-2004, 03:07   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
1,100 mesaj
Kayıt Tarihi:Kayıt: Oca 2004

Bunun için formüllerin bir adım ötesine geçip; bir script yazmak gerekiyor. Ben Excel kullanan biri olmadığım için bilemiyorum; böyle bir özellik olabilir belki; ama tahminimce yoktur... Bu teknik kesin işler:

Excel'i açın ve Araçlar>>Makrolar>>Visual Basic Editor [Tools>>Macros>>Visual Basic Editor] veya alt+F11 tuş kombinasyonuyla VBEditor'ü çalıştırın. Sol tarafta gördüğünüz tablodan bir çalışma sayfası [worksheet] ikonuna çift tıklayarak bu sayfa için kod yazabileceğimiz pencereyi açın. Sonra da açılan pencerede, üstteki iki kutucuktan ilkinde Çalışma Tablosu [Worksheet] ve ikincisinde de, Değişiklik [Change] seçeneğini etkinleştirin. Bu, kodumuzun ilgili tablo her değiştiğinde çalışmasını sağlar; yani şu kod otomatik oluşur:

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

Biz bu iki satır arasına kodumuzu yazacağız. Benim basitçe yazdığım kod şu:

    Worksheets("Sheet2").Cells(4, 5).Value = Worksheets("Sheet1").Cells(4, 5).Formula:

Bu kod, Sheet2 adlı tablodaki, 4.satır ve 5.sütundaki hücreye, Sheet1 adlı tabloda, 4.satır ve 5.sütundaki formülün aynısının yazılmasını sağlıyor. Yani tam olarak sizin istediğiniz şeyi yapıyor...

Başta da belirttiğim gibi Excel'le pek işim olmuyor ve benim bilmediğim, bunu doğrudan yapmanızı sağlayan bir yol da olabilir; fakat size tavsiyem bahsettiğim bölüme yavaş yavaş giriş yapmanız. Zira VB Editor'le, Excel tablolarınız tablo olmaktan çıkıyor ve uygulamalar haline geliyor. Çok basit bir şekilde karmaşık uygulamalar geliştirebilmenizi sağlıyor. Ne yaparsanız yapın artık; özgürlük ve güç sizde... Gülümseme

Son Düzenleme: hasanyasin ~ 14 Mart 2004 03:10
ebse
01-04-2004, 23:42   |  #3  
Taze Üye
Teşekkür Sayısı: 0
3 mesaj
Kayıt Tarihi:Kayıt: Nis 2004

merhaba,
hasanyasin arkadaşın cevabına biraz ek yapmak istiyorum.
VBA kısmını açınca ThisWorkbook kısmına aşağıdaki kodları yapıştırın ve Sayfa1 ' in A1 hücresine birşey yazıp diğer sayfalara bakın:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
For i = 1 To Sheets.Count
Sheets("Sayfa" & i).Cells(1, 1).Value = Application.ActiveWorkbook.Sheets("Sayfa1").Cells(1, 1).Value
Next i
End Sub

xternet
07-04-2004, 22:59   |  #4  
OP Taze Üye
Teşekkür Sayısı: 0
14 mesaj
Kayıt Tarihi:Kayıt: Mar 2004

Arkadaşlar her ikinizede teşekkür ediyorum. Birde bana VBA programını öğrenebileceğim bir kaynak kitap yada başka bir araç önerirseniz çok memnun olucam. Şimdiden teşekkürler.

nn_emir
08-04-2004, 14:56   |  #5  
Yıllanmış Üye
Teşekkür Sayısı: 0
125 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

Bi ek de ben yapayım. Diğerlerinin yanında biraz basit kaçacak ama :)

Excel de aynı çalışma sayfası içinde birden çok sayfaya aynı veriyi ya da formülü girebiliyoruz. Ctrl tuşuna basılı tutarak istenilen sayfaları seçtikten sonra seçili çalışma sayfalarından herhangi birindeki istediğiniz hücreye, değer ya da formül girin. Girdiğiniz değer ya da formül, seçili tüm sayfalardaki aynı hücrelere uygulanacaktır. Örneğin tüm çalışma sayfaları seçiliyken a1 hücresine "10" değerini ya da  c1 hücresine =a1+b1  formülünü girerseniz, bu girişin diğer çalışma sayfalarında da aynen yer aldığını görürsünüz.
Herkese kolay gelsin..

xternet
08-04-2004, 23:16   |  #6  
OP Taze Üye
Teşekkür Sayısı: 0
14 mesaj
Kayıt Tarihi:Kayıt: Mar 2004

Emir sizin cevabınız daha basit gibi görünsede benim anlayacağım dile daha yakın. Teşekkür ederim. Hala VBA için kaynak bekliyorum. Selamlar...Gülümseme

asali
23-09-2004, 16:23   |  #7  
Taze Üye
Teşekkür Sayısı: 0
11 mesaj
Kayıt Tarihi:Kayıt: Oca 2004

Merhabalar Türkiye de vba (makrolar) konusunda yegane kayank Sayın M.Temel KORKMAZ' Excel ile programlama (Makrolar) kitabı Bu kitaba www.excel.gen.tr den ulaşabilirsin.
makro bilgini online olarak ise aşağıdaki siteden arttırabilirsin.


A.Aşkın KÜÇÜKKAYA
kolay gelsin

ersingo
12-10-2004, 13:21   |  #8  
Yeni Üye
Teşekkür Sayısı: 0
39 mesaj
Kayıt Tarihi:Kayıt: Oca 2004

bende formül veya makro ile ilgili bir şey sormak istiyorum. excelde rakam olarak yazdığımız bir hücredeki değarleri yazı olarak bir diğer hücreye nasıl yazdırabiliriz... çok dekont hazırlıyorum excelde fakat şu yazı ile tutar yazma işi öldürüyor beni.