Ç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.
yanlız, tabloyu değiştirip sayfa 1 deki all tuşuna bastım ( birden fazla yazılanı bulmadı, dediğiniz gibi sayfa ismini ocak 2013 de yaptım gene bulmadı)
ben ALL düğmesini ilk sayfaya alsam ve sedece birden fazla yazılanı aynı sayfada tablonun altında listele diye bir düğmeye atasam aktar kodunumu kullanıcam ?
Sağolun
Yani Hocam, bu kadar teferruata gerek yok ...tablonun olduğu sayfaya bir düğme (Birden Fazlayı BUL düğmesi)
basınca tablonun altında veya yanında bi yere birden fazla yazılanı listeliycek...
ben o kodu almaya çalıştım çok teferruatlı, alamdım dediğim gibi basit bir yolla yapabilirmiyiz..aylara tarihe gerek kalmadan sadece tablodaki birden fazla yazılanı listeliycek,,
kusura bakmayım ama, bu kodu bir düğmeye alıyım dedim:
Private Sub CommandButton1_Click() burası sarı oluyor ve hata veriyor
Sub aktarr()......baradan itibaren sizin kodu dügmeye yapıştırmıştım..
.
.
1- neden bir düğmeye aktaramadım....düğmeye aktarmak için ilave kodmu gerekli...
2-yapmak istediğim, tablonun olduğu ilk sayfaya birdüğme açmak, basılınca, sayfa adını bir hücreden alarak ( mesela tablonun bulunduğu ilk sayfadaki A28 hücresinden ) yeni bir sayfaya, birden fazla yazılanı listelemesi
Hocam sizin için mahsuru yoksa şu kodu anlıyamadım,
If WorksheetFunction.CountIf(Sheets("data").Range("d4:d" & z), Sheets("data").Cells(z, "d")) >= 2 Then
tablodakileri tek tek D stununa yazdıktan sonra, bu kod sayesinde birden fazla olanı buluyor deyilmi?
peki birkere yazılana 1 iki kere yazılana 2 diye nerede varki bu kod 2 ve yukarı diyebiliyo anlıyamadım
Merhaba ercan bey;
adım adım sorularınızı açıklamaya çalışayım.
1-CommandButton1_Click() komut düğmesine kodları almaya çalışmışsınız. iyide 1 nolu butonunuz ve buna ait kodlarınız var. Bu yüzden hata verdi. (ekteki gibi son buton noya CommandButton4 e eklerseniz sorun olmaz.)
2-düğme yada komut düğmesi ikiside kullanılabilir. (benim tercihim düğme. Nedeni ise vba sayfasına geçmeden istediğim şekilde biçimlendirme ve isimlendirme yapma kolaylığı aralık_2013 sayfasındaki butona yaptığım gibi)
3-G1 hücresindeki formüle gelince;
Aslında tablonuzu anlamaya çalıştım. (kasım_2013 gibi sayfa adını görünce her ay için bir sayfa oluşturacağınızı düşündüm. ve oluşturacağınız sayfa isimlerini bilmediğim için sayfa ismini hücreye yazdırdım. Hatta data sayfasındaki kodları (dosyanın örnek olacağını düşünerek) modül yerine sayfanın kod bölümüne yazdım ki sayfa ile birlikte taşıyabilesiniz.
Daha sonra data sayfasını oluşturarak veri alınacak sayfa adının bir hücreden alınmasının daha kullanışlı ve esnek olacağını düşünerek örneği bu şekilde kurguladım. Tabi formülüde orada unuttum.
Şimdi mevcut formül artık kullanılır oldu.
formül sayfa adını alıyor ve data sayfasında ilgili yere yazılıyor.
makrolar yine data sayfasında kod bölümünde duruyor ve başka bir makro ile tetikleniyor.
Anlıyamadığınızı belirttiğiniz koda gelince;
CountIf yani türkçesi eğersay ile mevcut veri saydırılıyor sonundaki sayı 1 olsaydı benzersiz liste elde edilirdi. 2 ile ilk veri atlanarak 2 ve daha fazla geçen adresler alınmış oluyor.
hocam sorularıma sıkılmadan cvp. verdiğiniz için çok teşekkür ederim...
yanlız buton4 çalışmadı. yeni sayfa açarak adını bir hüreden almadı..hatta yeni sayfaya bile gitmedi ilk sayfada kaldı.
Private Sub CommandButton4_Click()
Application.ScreenUpdating = False
On Error Resume Next
aktifsayfaadı = [g1]
Sheets("data").Select
Application.Run "'mutluedenercan-NÖBET ORTAOKUL-1.xls'!Sayfa1.aktarr"
Sheets(aktifsayfaadı).Select
Application.ScreenUpdating = True
End Sub
birde "data sayfasındaki makroyu çalıştır" düğmesinin ne yaptığını anlıyamadım...görüşte bir değişiklik olmadı.
Merhaba;
Buton4 yeni sayfa açmayacak ve başka sayfaya da gitmeyecek.
Her iki botonda aynı işlemi yapıyor. (sadece komut düğmesi ile düğme nin arasındaki farkı ve aynı makroyu uygulama şeklini göstermek adına yapmıştım. Birini silebilirsiniz)
Yazdığınız kodlara gelince sayfa adı değişken olduğu için uyguladığım bir yöntem...
Yani kodlara;
-bulunduğun sayfadan data sayfasına git.
-ilgili yada istenilen makroyu çalıştır.
-bulunduğun sayfaya geri dön.
işlerini yaptırıyoruz.
Butona basınca data sayfasına geçip kontrol ederseniz verilerin eklendiğini görürsünüz.
İyi çalışmalar.
ben gene bağzı değişiklikleri beceremedim...(ilk sayfadaki düğmeye aktarr makrosunu verdim bağzı sorunlar çıktı, değiştirdim bişiler oldu gibi oluyo olmuyo, datadeki kodu ilk sayfaya aldım, call aktarr satırı girdim, d stunu bağzen siyiyo bağzen silmiyo, halbuki data sayfasındaki düğmenin kodunun aynısı o çalışırken bu ilk sayfadeki düğme d stununu silmiyor vb..kısacası kıvıramadım. sizin örnekteki makro çalıştırma kodunu kullanmayışımın nedeni anladığım kadarıyla dosya adı ve sayfa adına bağlı çalışıyo, dosya adı değişince sorun olacaktı)
- yanlışlıkla data sayfasındaki c1 silinince kod çalışmıyor deyilmi...
yapmak istediğim:
1- farkı bulduran düğme ilk sayfada olacak ama her basışta data sayfasında farklı stuna listeyi verecek
mesela ilk basışta a stununa veriyorya...bu orada kalacak biz nöbeti değiştirince gerekince o ilk sayfadaki "fazla nöbeti bul" düğmesine basınca bu sefer B stununa fazla nöbet tutanları verecek...böyle böyle sıra ile stunlara verecek listeyiki biz bir önceki nöbet listesinde kim fazla tuttu idi, geriye dönük görebilelim.
2. data sayfasındaki her listenin yani her stunun başlığınıda ilk sayfadaki bir hücreden alacak
( yani farkı bulduran düğmenin üstünde boş bir hücreye ne yazdıysak,basınca listeyi data sayfasındaki ilk boş stuna listelerken başlığınıda o hücrede yazanı yapacak)
Merhaba Ercan bey;
Öncelikle
"ben gene bağzı değişiklikleri beceremedim...(ilk sayfadaki düğmeye aktarr makrosunu verdim bağzı sorunlar çıktı, değiştirdim bişiler oldu gibi oluyo olmuyo, datadeki kodu ilk sayfaya aldım, call aktarr satırı girdim, d stunu bağzen siyiyo bağzen silmiyo"
Yazdığınız ve çözüm istediğiniz iletinizden ne anlamam gerekiyor?
Kullandığınız Türkçe berbat,
Anlatmak istediğiniz ifade ise ondan daha berbat. (yukardaki ifadenizi anlamak için epey zaman sarfettim. Yazdığınız ifadeyi düzeltme şansınız her zaman var. Lütfen yazdıktan sonra bir kez okuyun.)
Bundan sonraki iletilerinizde buna dikkat etmeniz dileğiyle eki tekrar deneyin.
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.