Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
bir tarih girdim gene hücreler AD oldu ; önceki gönderdigiriz 2003 e uyumlu olan formülü yapıştırdım
yani
=_xlfn.IFERROR(TARİHSAYISI(D6&"."&$AT$2&"."&$AU$2);0) formülü 2003 de çalışmıyormuşya
onunun yerine
=EĞER(EHATALIYSA(TARİHSAYISI(D6&"."&$AT$2&"."&$AU$2));0;TARİHSAYISI(D6&"."&$AT$2&"."&$AU$2)) yapıştırdım
sorun aynı yani 2. ayı bitişten almak yerine başlangıçtan alıyor
hani 2003 de çalışmıyan formül yerine
=EĞER(EHATALIYSA(TARİHSAYISI(D6&"."&$AT$2&"."&$AU$ 2));0;TARİHSAYISI
yapıştırdımya 2003 de çalışsın diye
o formülü ayın sonuna dek çekip kopyalıdım
halbuki ayın 31 de dek kopyalıycam ayın 1 den itiberen at$2 AT$3 olacak yani bitiş hücresinden alacak şekilde düzettim
oldu
Emeğinize sağlık
Hani başlangıcı girince bitiş tarihini otomatik giriyo ya
bitiş tarihini yanlışlıkla girince oradaki formul kayboluyor bitiş tarihini manuel girmeyi nasıl engel oluruz
ok düzeltiğinize sevindim.
Bitiş tarihini manuel girmenizi gerektirecek bir durum yok.
Ama genede yanlışlıkla silerseniz gönderdiğim dosyada formülü var.
Sayfa korumasını açıp. Hücreleri koruma altına alabilirsiniz. (veri girmek istediğiniz hücre özellliklerinden kilitli işaretini kaldırın)
haftasonu boyamayı bir öncekinde halletmiştik, onu size bırakıyorum.
Sayfa kopyalayan ve yeni ay için açan hali ekte.
Yeni Ay tuşuna basın. Yeni sayfa açılacak.
Ama ay değiştiğinde içindeki verileri silecek mi bilemediğim için birşey yapmadım.
hocam dediğim gibi o macro excele sonradan eklenmiş yaziyla() fonsiyonu için. Yani
Yaziyla(1234) = binikiyüzotuzdort gibi Silmeniz veya kalması size bir zararı olmaz. Faturalarda yazıyla tutar yazılır ya onun gibi.
hücre içindeki tarih değerini excel 1900den başlayan bir sayı olarak tutar, bunu excelin standart veya isteğe uyarlanmış şekilde istediğiniz gibi gösterebilirsiniz.
yeni ay tuşunun altındaki hücreye AM7 bir formül yazarak sonraki ayı gösterdim.
tuşun arkasına makro atadım ve Makro ile sırası ile
ActiveWorkbook.Save ' çalışma sayfasını kaydettim
ayyy = Range("AM7").Value 'ayyy değişkenine AM7 hücresinin DEĞERini atadım 01.02.2011 gibi
ayyytxt = Range("AM7").Text 'ayyytxt değişkenine AM7 hücresinde gözüken TEXT atadım. ŞUBAT gibi
ActiveSheet.Select 'üzerinde bulunduğum sayfayı seçtim.
ActiveSheet.Copy Before:=Sheets(Sheets.Count) 'en son sayfaan bir önceki sayfaya gelecek şekilde kopyaladım.
Range("D7") = ayyy 'yeni sayfada D7 yerine ayyy değerini attım.
Range("AK7") = ayyy ' AK7 yerine ayyy değerini attım.
ActiveSheet.Name = ayyytxt 'yeni sayfanın adını ayyytxt yaptım
yeni sayfada silmek istediğiniz değerleri yukarıdaki makroda kopyalamadan sonraya yazarak sildirebilirsiniz.
Bir hücrenin nasıl silindiğini görmek için MAKRO kaydet yapıp o hücreyi siliniz. Makroyu durdurduğunuzda ecel onu kod olarak vba da gösterecektir.
yeni yıla da geçebilir AM7 içindeki formülü inceleyerek ve EĞER li bir formül ile yeni yıla geçebilirsiniz. Ama tavsiyem her yıl için başka dosya tutun.
isimlerin karşisinda gördüğürüz gibi Rakamlar var...
Haliyle bağzı isimlere İ (izinli) R (Raporlu) işareti gelebiliyo...bunlar yeni ayda geçerli olmuyacağı için
Yeni ay butonuna basınca kopyalarker kimde bu işeretler varsa dikkate almayıp..o satırdaki rakamı o harfin yerine yazabilirmi ...mümkün olurmu
(yani bir ismin karşısında 3 3 3 İ 3 var yeni ayda 3 3 3 3 3 olacak gibi
kiminde 4 var kiminde, 3 4 3 kiminde, komple R var, kiminde 2 3 2 var, kiminde komple DOĞUM İZNİ yazıyor. Neyi silip ne yi silmeyeceğini excel nasıl anlayacak.
Bunun algortimasını kurun.
Ekteki dosyada hepsini sildirim yerine 3 yazdırdım. Lütfen kodlardaki döngüyü inceleyin istediğiniz karşılaştırmayı yaptırarak istediğiniz değeri girebileceğiniz her şey orda gözüküyor.
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.