Soru Birden fazla sayfaya koşullu satır eklemek

bahattingcl

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Arkadaslar merhaba, devam eden insaat projelerimin butce kontrolu icin bir excel dosyasi olusturdum. Bu dosya da ana gider kalemleri ve alt gider kalemlerinin yillik ay bazinda toplamlarini gorebiliyorum. Ancak sistemi daha dinamik hala getirmek istiyorum. Macrolar ve butonlar kullanarak ana gider ekleme ve alt gider kalemleri eklemeye calisiyorum. Kullanici eklemek istedigi alt kalemi secmeden once hangi ana giderin altina ekleyecegini secip sonra eklemesini istiyorum. Bu eklemeleri tum sheetlere yapmasini istiyorum. Kullanici aktif olarak o ay olan sheeti guncelleyip tum veriler giris sheetinde gozukecek. Ayrica farkli projeleri ayni file uzerinden kontrol etmek mumkun olabilir mi. Yardimlarinizi bekliyorum. İyimser normal ve kötü senaryo kısmını göz ardı edebilirsiniz. Giriş ve devamındaki sheetler için ihtiyacım var. Şimdiden çok teşekkür ederim.
 

Ekli dosyalar

Merhaba.

Gördüğüm kadarıyla; belgenizdeki tüm döviz kurları T.C.M.B.'den, KTF - Kullanıcı Tanımlı Fonksiyon kullanılarak çekiliyor.
Yapısı gereği KTF makroları, formül olarak kullanılıyor ve bunun sonucu olarak da KTF kullanılan bu formüller
(tüm formüller gibi), belgedeki herhangi bir hücrede herhangi bir işlem yapıldığında yeniden hesaplanmak durumunda.
Bu da sözkonusu KTF formüllerinin bulunduğu tüm hücreler için TCMB'ye bağlanılıp ilgili kurların tümünün tekrar ve tekrar
internet üzerinden çekilmesi anlamına geliyor.

Tavsiyem; bir başlangıç ve bitiş tarihi belirleyip, bu iki tarih arasındaki döviz kurlarının bu iş için oluşturulacak bir sayfaya
bir kereliğe mahsus olarak (istenildiğinde belirtilen son tarih değiştirilerek yeni tarihler için tekrar veri çekme işi yapılabilir)
döviz kurları için bir arşiv oluşturmanız yönünde olacak. Tabi bu kurlar bir tarih için 1 kere çekilecek ve hücreye değer olarak yazılacaktır.

Diğer sayfalarda, gerekli hücrelere bu kurlar formül ile çekilebilir ve aynı tarih için tekrar TCMB'den kur çekmeye ihtiyaç olmaz.

Gördüğüm bir başka husus ise tüm sütunu referans alan formüllerinizin olması.
Örneğin =DÜŞEYARA(abc;A:K;7;0) gibi bir formül yazdığınızda bu formül, aranan değer için 1 milyon küsur hücreyi kontrol edecek
anlamına gelir, bir de bu türlü oluşturulmuş formül sayısını çoğalttığınızda belge yavaşlayacak, kullanılmaz hale gelecektir.
Bu konuyla ilgili önerim ise FORMÜLLER menüsündeki AD TANIMLAMA bölümünden yararlanarak DİNAMİK AD TANIMLAMALARI
oluşturmanız yönünde olacak. Böylece formülleriniz, sadece dolu hücre sayısı kadarki alanı kontrol etmiş olur.

Tabi tavsiye olarak belirttiğim hususlar, açılan bu konu başlığıyla ilgili olmadığından;
herbir konu için, işlem türüne göre ayrı konular açarsanız, çözüm konusunda daha hızlı mesafe almanız kolaylaşır,
belgeniz öncekiyle mukayasa edilmeyecek kadar hızlanacaktır diye düşünüyorum.

İyi çalışmalar.


.
 
Merhaba.

Gördüğüm kadarıyla; belgenizdeki tüm döviz kurları T.C.M.B.'den, KTF - Kullanıcı Tanımlı Fonksiyon kullanılarak çekiliyor.
Yapısı gereği KTF makroları, formül olarak kullanılıyor ve bunun sonucu olarak da KTF kullanılan bu formüller
(tüm formüller gibi), belgedeki herhangi bir hücrede herhangi bir işlem yapıldığında yeniden hesaplanmak durumunda.
Bu da sözkonusu KTF formüllerinin bulunduğu tüm hücreler için TCMB'ye bağlanılıp ilgili kurların tümünün tekrar ve tekrar
internet üzerinden çekilmesi anlamına geliyor.

Tavsiyem; bir başlangıç ve bitiş tarihi belirleyip, bu iki tarih arasındaki döviz kurlarının bu iş için oluşturulacak bir sayfaya
bir kereliğe mahsus olarak (istenildiğinde belirtilen son tarih değiştirilerek yeni tarihler için tekrar veri çekme işi yapılabilir)
döviz kurları için bir arşiv oluşturmanız yönünde olacak. Tabi bu kurlar bir tarih için 1 kere çekilecek ve hücreye değer olarak yazılacaktır.

Diğer sayfalarda, gerekli hücrelere bu kurlar formül ile çekilebilir ve aynı tarih için tekrar TCMB'den kur çekmeye ihtiyaç olmaz.

Gördüğüm bir başka husus ise tüm sütunu referans alan formüllerinizin olması.
Örneğin =DÜŞEYARA(abc;A:K;7;0) gibi bir formül yazdığınızda bu formül, aranan değer için 1 milyon küsur hücreyi kontrol edecek
anlamına gelir, bir de bu türlü oluşturulmuş formül sayısını çoğalttığınızda belge yavaşlayacak, kullanılmaz hale gelecektir.
Bu konuyla ilgili önerim ise FORMÜLLER menüsündeki AD TANIMLAMA bölümünden yararlanarak DİNAMİK AD TANIMLAMALARI
oluşturmanız yönünde olacak. Böylece formülleriniz, sadece dolu hücre sayısı kadarki alanı kontrol etmiş olur.

Tabi tavsiye olarak belirttiğim hususlar, açılan bu konu başlığıyla ilgili olmadığından;
herbir konu için, işlem türüne göre ayrı konular açarsanız, çözüm konusunda daha hızlı mesafe almanız kolaylaşır,
belgeniz öncekiyle mukayasa edilmeyecek kadar hızlanacaktır diye düşünüyorum.

İyi çalışmalar.


.
Çok teşekkür ederim. döviz kurları için farklı bir sayfa oluşturdum ve artık kasma problemi yaşamıyorum. Fakat ilk sorunum halen devam ediyor.
 
Arkadaslar merhaba, devam eden insaat projelerimin butce kontrolu icin bir excel dosyasi olusturdum. Bu dosya da ana gider kalemleri ve alt gider kalemlerinin yillik ay bazinda toplamlarini gorebiliyorum. Ancak sistemi daha dinamik hala getirmek istiyorum. Macrolar ve butonlar kullanarak ana gider ekleme ve alt gider kalemleri eklemeye calisiyorum. Kullanici eklemek istedigi alt kalemi secmeden once hangi ana giderin altina ekleyecegini secip sonra eklemesini istiyorum. Bu eklemeleri tum sheetlere yapmasini istiyorum. Kullanici aktif olarak o ay olan sheeti guncelleyip tum veriler giris sheetinde gozukecek. Ayrica farkli projeleri ayni file uzerinden kontrol etmek mumkun olabilir mi. Yardimlarinizi bekliyorum. İyimser normal ve kötü senaryo kısmını göz ardı edebilirsiniz. Giriş ve devamındaki sheetler için ihtiyacım var. Şimdiden çok teşekkür ederim.
dosyayı kasmayacak şekilde güncelledim.
 

Ekli dosyalar

Şöyle bir kod yazdım. Bunun ile Genel gider kısmına bir alt kalem ekleyebiliyorum. Tüm sheetlere aynı anda ekliyor ve gerekli formülleri kullanıyor. Fakat Başka bir ana giderin altına nasıl ekleyebileceğimi bilmiyorum. Yani butona tıkladığımda bana nereye satır eklemek istediğimi sormasını istiyorum. Ordan örneğin kaba yapı vs seçip onun altına ekleyebileceğim veya ana gider olarak ekleyebileceğim. Sanırım user form ile oluyor. Yardımcı olabilen olursa çok sevinirim. Şimdiden teşekkürler.







Sub YeniKalemSon()

Dim t As String
t = InputBox("Gider Adini Giriniz", " Yeni Kalem Ekleme")

If StrPtr(t) = 0 Then
MsgBox ("Islem iptal edildi!")

ElseIf t = vbNullString Then
MsgBox ("Giris yapilmadi!")

Else

Sheets(1).Range("A42").EntireRow.Insert
Sheets(1).Range("E42").Value = t
Call kopyala


For i = 2 To Sheets.Count
Sheets(i).Range("A42").EntireRow.Insert

Sheets(i).Range("A42").Value = t
Sheets(i).Range("AF42").Value = "=SUM(B42:AE42)"


Next i

MsgBox (t & "gideri eklendi!")
End If
End Sub
 

Ekli dosyalar

Ekli dosyayı inceleyiniz. Anladığım kadarıyla yaptım bir şeyler. Eksik bir şey varsa yazarsınız tekrardan.
Ekli dosyayı inceledim. Çok teşekkürler elinize emeğinize sağlık. Eksik olarak sadece alt gider ekleyebiliyorum. Ana gider ekleyemiyorum. Ayrıca eklediğinde satırdaki formulleri de alması gerekiyor. Örneğin ana giderler alt giderlerinin toplamı olduğu için yeni bir alt gider eklediğimizde onu da toplaması gerekiyor. Ayrıca ana sayfadaki satırlar ay sheetlerinden çekiyor veriyi =SUMIF('Eylül 20'!A:A;E20;'Eylül 20'!AF:AF) şu şekilde. Yani bir gider eklediğimizde alt giderse diğer alt giderler gibi ay sheetlerinden veriyi alması ana giderse altındaki alt giderlerin toplamı formulunu alması lazım.
 
Ana gider değil alt gider ekleyebileceğiniz bir çalışma hazırlamıştım. Ana gider ekleyecekseniz bunun için kodlar da değişiklik yapılması gerek.
Aynı şekilde giriş sayfasında formüller ve diğer sayfada ki formüller kod kısmına dahil değil. Onlar içinde ekstra bir kaç satır kod eklemek lazım.
Dosyanızı hazırlayabilirsem buraya yüklerim.
 
Ana gider değil alt gider ekleyebileceğiniz bir çalışma hazırlamıştım. Ana gider ekleyecekseniz bunun için kodlar da değişiklik yapılması gerek.
Aynı şekilde giriş sayfasında formüller ve diğer sayfada ki formüller kod kısmına dahil değil. Onlar içinde ekstra bir kaç satır kod eklemek lazım.
Dosyanızı hazırlayabilirsem buraya yüklerim.
Buraya konuyu ilk açtığımda bu kadarını bile beklemiyordum. Çok teşekkür ederim ellerinize sağlık. Ben iyi bilmediğim için belki haftalarca uğraşıp yapacağım bir şeyi siz bir saatte bile yapabilirsiniz belki. Ana gider ekleme kısmı çok vaktinizi alacaksa veya çok değişiklik gerektiriyosa onu yapmasanız da olur. Fakat alt gider eklediğimizde formülleri alması çok önemli. Eğer hazırlayıp atabilirseniz çok memnun olurum. Umarım aynı sorunu araştıran başkaları da faydalanır. Tekrar teşekkürler iyi çalışmalar.
 
Ana gider değil alt gider ekleyebileceğiniz bir çalışma hazırlamıştım. Ana gider ekleyecekseniz bunun için kodlar da değişiklik yapılması gerek.
Aynı şekilde giriş sayfasında formüller ve diğer sayfada ki formüller kod kısmına dahil değil. Onlar içinde ekstra bir kaç satır kod eklemek lazım.
Dosyanızı hazırlayabilirsem buraya yüklerim.
Hocam ayrıca alt gideri sadece altında gider olanlara ekliyor. Örneğin peyzaj işlerinin altına ekleyemiyor.
 
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Soru 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
11
Üst