Favorilerine Ekle | Giriş Sayfan Yap | Tavsiye Et

 

Kurs Tanıtım Sayfası | Süper Üye Kimdir? | Menü Tasarımı Konulu Örnek Ders
Kod İndir| Hazır Kodlar | Makaleler| İpuçları | VB .NET Kursu | Dersler | Forum | Alt Bölümler | Servisler
    Merhaba Misafir
    anasayfa » visual basic makaleleri » Excel'de makro kaydetmek
Üye Girişi
Kullanıcı Adı:  
Şifre : 
Kaydet ?
Siteden tam olarak faydalanabilmek için üye olmalısınız.
Unuttuğunuz şifrenizi öğrenebilmek için kayıt sırasında verdiğiniz Hatırlatma Cevabı'nı bilmeniz gereklidir.
Şifre hatırlatma işlevini sadece 3 defa kullanma hakkınız vardır.
Kullanıcı adını ve şifresini unutan üyelere email ile yardım verilmez.

Aktivasyon Gelmedi mi?Aktivasyon mesajınız email adresinize gelmedi mi?
Buraya tıklayarak bir kez daha aktivasyon mesajı gönderilmesini sağlayabilirsiniz.
Lütfen email hesabınızın BULK ve SPAM klasörlerini de kontrol ediniz.
Rastgele Makale

Otomatik Süz de Toplam Aldırma

Yazar: recepkebelioğlu

Webmasterlar
Sitenize Ekleyin!
Sitenizde "Son Eklenen 10 Visual Basic Yazısı"'nı göstermek ve içeriğini zenginleştirmek için buraya tıklayınız.

Vbasicmaster.com'a link verin!
Aşağıdaki minik banneri sitenize eklemek için tıklayın!

Üye Sayısı:
Ziyaretçiler nerede?
Yayın № : 10459
Yayın Tar:27.06.2008
Yazar : kriptonik007
Hit :6372

Bu Yazarın Yazıları Sadece bu yazarın makale göster
Bu Yazıyı Tavsiye Et

çalışma kitabına kaydet butonu eklemek için excelde iken Araçlar>Makro>Visual Basic Düzenleyecisi ne basın yada kısayoldan Alt+F11 tuş kombinasyonunu deneyin açılan sayfa vba kodlarını yazacağımız yer oluyor sol tarafta bir kesit var ve burda çalışma sayfaları görünüyor

microsoft excel objects
sayfa1
sayfa2
sayfa3
ThisWorkbook


soldaki kesit yukarıdaki gibi olmalı buradan sayfa1 (kaydet butonunu hangi sayfaya ekleyeceksek onu secmeliyiz biz sayfa1 e ekleyecegimizi farzedelim) yazan yere tıklayalım
boş bir kod penceresi açılmış olmalı

şimdi visual basic düzenleyicisini simge durumuna küçültüp excel çalışma kitabımızın olduğu pencereye geri dönelim ve commandbutton yani komut düğmesi dediğimiz nesneyi oluşturalım
bu düğmeyi çalışma sayfamızın herhangi bir yerine ekleyebilmemiz mümkün ama nerde bu düğme diyorsanız muhtemelen excel penceresindeki üst menunun altındaki düğmelerde olması gereken Denetim Arac Kutusu henüz eklenmemiştir. Denetim Araç Kutusunu excel menunuze eklemek için Araçlar>Özelleştir e tıklayın açılan pencerede Araç Çubukları / Komutlar / Seçenekler adında 3 başlık bulunmaktadır bunlardan Komutlar yazan başlıga tıklayın
komutlar menusunde 2 sütün bulunmakta kategoriler ve karsısında komutlar
kategoriler kısmındaki listeden denetim araç kutusu nu bulun ve üstüne tıklayın karsı tarafındaki listede Tasarım modu Özellikler Kod görüntüle Diğer denetimler gibi ikonlar bulunmakta bu listeyi biraz aşagıya kaydırdıgınızda komut düğmesi karşınıza çıkacak isterseniz buradan sadece komut düğmesi dediğimiz nesneyi mouseun sol tusu ile ustune tıklayıp basılı tutarak sürükleyip üst menude düğmelerin yanına koyabiliriz yada sadece bu düğmeyi istemiyorsak tüm denetim araç kutusu düğmeleri menumuzde olsun istiyorsak Araçlar> Özelleştir e tıkladığımızda açılan pencereden Araç çubukları yazan başlığa tıklayarak açılan listede Denetim Araç Kutusu seçeneğinin yanındaki kutucuğa tık atarak bu düğmelerin üst menümüze eklendiğini görebiliriz...

şimdi Denetim Araç Kutusu düğmeleri üst menümüzde olduğuna göre bunların arasından üzerine fare okunu yaklaştırdığımızda Komut Düğmesi yazan nesneyi bulalım
eger bulduysak üzerine 1 kez tıklayalım ve excel çalışma sayfamızın herhangi bir yerine götürelim farenin okunu... haç şeklinde bir işaretçi çıkmıs olmalı artık düğmemizi çizebileceğimiz anlamına geliyor kendileri:)) düğmemizi çizelim dikdörtgen şeklinde birşey çizdiğimizde üzerinde CommanButton yazdığını görüyoruz...
şimdi düğmemize kod atamaya geldi sıra... fare okunu düğme üzerine götürüp farenin sağ tusuna tıkladıgımızda acılan menude Kod Görüntüle diye bir seçenek olmalı buna tıklayalım...
Şimdi ilk başta açmıştık ya VisualBasic düzenleyicisi diye karşımıza o sayfa çıkmış olmalı...
yanlız sayfada şöyle birşey yazıyor olmalı

Private Sub CommandButton1_Click()

End Sub


bunlar standart şeyler kendi kendine oluştular bunları ellemiyoruz ama
Private Sub CommandButton1_Click() yazan satırın altına tıklayarak kodumuzu yazıyoruz

bu kodlar bu komut düğmesinin ne yapmasını istediğimize göre değişiyor ama

Private Sub CommandButton2_Click()

End Sub

bu yukarıdaki iki satırhep aynı kalıyor ellemeyin ve yerlerini değiştirmeyin yukarıdaki bu iki satırın:)
işte şimdi geldik düğmeye atayacağımız koda örnek vermeye mesela bu butona bastıgımızda çalışma sayfasında yaptıgımız değişiklikleri kaydetmesini istiyorsak aşağıdaki gibi bir kod yazmalıyız


Private Sub CommandButton1_Click()
Workbooks("kitapadınıyazın.XLS").Save
End Sub



araya yukarıdaki kırmızı kodu (Workbooks("kitapadı.xls").save) yazdıgınızda toplam kod yukarıdaki gibi olmalıdır... aslında cok sade bir mantıgı var yani workbook çalışma kitabı demek save kaydet demek zaten azıcık ingilizce bilen biri bunu anlayabilir

burada kitapadınıyazın yazan yere çalışma kitabının adını yazın eğer uzantısı xls değilde başka birşeyse yukarıdaki kod da yazan xls ifadesi yerine de çalışma kitabının uzantısını yazın

visual basic düzenleyicisini kapatın Excel çalışma kitabını da kaptın ve kapatırken değişiklikler kaydedilsinmi dediginde eveti secin yoksa bastan yapmak zorunda kalacagız:)

şimdi aynı excel çalısma kitabını tekrar actıgımızda makroları etkinleştir makroları devre dışı bırak diye bir uyarı çıkacaktır burdan makroları etkinleştiri sececeğiz aksi takdirde düğme calısmayacak cunku düğmeye atadıgımız kodda bir makrodur aslında.. makroları etkinleştir deyip acıldıgında birkac değişiklik yapalım ve olusturdugumuz düğmeye basalım sonra çalısma kitabını kapatalım ..
kapandıktan sonra aynı çalısma kitabını tekrar acalım ve yaptıgımız degişiklikler duruyormu bakalım... duruyorsa kaydet butonumuz calısmıs demektir...

simdi diyeceksinizki ne yapacagız kaydet butonunu zaten üst menude var kaydet butonu derseniz.. bunu sadece bu gibi durumlarda degil baska yerlerde de kullanacagınızı unutmayın diyebilirim

ama yazabilecgimiz tek kod da bu degil tabi bir butona bir sürü kod yazabiliriz bu sadece nasıl yapıldıgını bilmeyenler için bir örnek.. işin mantıgını kavramak için yani... ufak bir örnek daha verelim mesela

diyelimki çalışma kitabınızın adı FATURALAR ve bu kitabın içinde şirket ismi A ile başlayan mişterilerin faturalarının oldugu bir sayfa var ve sayfa adı olarak AFAT koymussunuz birde Bharfi ile baslayanlar için BFAT olarak ad verdiğiniz sayfanız var simdi birde tüm müşterilerin isimlerinin listelendigi bir indeks olarak düşünelim LİSTE adında bir sayfanız var ve bir sayfadan diğerine geçerken düğmelerden faydalanalım istiyorsunuz diyelim...

örnek olarak AFAT çalısma sayfasında olusturdugumuz bir komut düğmesine aşağıdaki kodu ekleyerek bu düğmeye tıkladıgımızda LİSTE sayfasına gitmesini söyleyebilir bunu yaptırabiliriz

Private Sub CommandButton1_Click()
Sheets("LİSTE").Select
End Sub

ya buna ne gerek var zaten asagıda çalısma sayfalarının görüntülendiği cubukta bütün çalışma sayfaları görünüyor ve üzerine tıkladıgımızda acılıyor derseniz benim diyecegim sey sadece burda kullanacagınızı dusunmeyin olacaktır

mesela textbox diye bi nesne var yine denetim araç kutusunda komut düğmesinin yanında içinde ab harfleri olan bir ikon var üzerine yaklastıgımızda metin kutusu diyor text box dediğimiz sey bu ikona tıklayarak aynı komut düğmesi çizer gibi çiziliyor ondan sonra yine kod atayarak bu textboxun içine yazılanlara göre filtreleme ya da arama ya da başka bişiler yapmasını saglayabiliyoruz

örneğin diyelimki bir çalışma sayfamızda altalta yüzlerce satırda aynı türden veriler girilmis yani bu satırların hepsi bir türden ve hepsi altalta oldukları için aynı sütün da birleşmiş oluyorlar excel çalışma sayfamızın üst menusun de Veri diye bir menü olmalı bu menuye gelelim ve filtre uygula yazan yere tıklayalım sağa dogru acılan menude otomatik filtre uygula diye bir secenek olmalı ona tıklayalım
simdi excel çalışma sayfamızdaki sütunların yanlarında küçük oklar cıkmıs olmalı bu oklar autofilter dediğimiz seyi saglayan acılır menulerden olusuyor simdi yukarıda anlattıgımız gibi bir textbox olusturalım ve çalısma sayfamızın herhangi bir yerine çizelim bu nesneyi daha sonra yine faremizin sol tusuyla uzerine tıklayıp kod görüntüle diyelim açılan visual Basic düzenleyicisi sayfasında

Private Sub TextBox1_Change()

End Sub

şeklinde bişi çıkmış olmalı yine bu satırlara dokunmayıp aradaki satıra yazarak kodu aşağıdaki hale getirelim

Private Sub TextBox1_Change()
On Error Resume Next
SONUC2 = TextBox1.Value
Set FC2 = Range("A2:A65500").Find(What:=SONUC2)
Application.Goto Reference:=Range(FC2.Address), _
Scroll:=False
Selection.AutoFilter Field:=1, Criteria1:="*" & TextBox1.Value & "*"
End Sub


bu sekilde kodu olusturp kapatalım ve degisiklikleri kaydet diyelim
simdi bu kod text box nesnesinin içine yazdıgımız ifadeyi excel çalısma sayfamızdaki A2 ve A65500 hücreleri içinde arıyor tabi burda standart olarak a sütunundaki autofilter 1 olarak belirlendiyse dogru calısacaktır eger bu düzenekte bir farklılık varsa calısmayabilir
eger farklılık yoksa calısacaktır simdi aynı excel çalışma kitabımızı tekrar açalım ve makroları etkinleştir diyelim aksi takdirde yapmak istedigimiz seyi yapamayız cunku yaptıgımız sey bir sekilde sorgulama yapısı tasımaktadr ve makrodur
makroları etkinleştir dediğimizde acılan çalısma sayfamızda textboxa bir ifade yazdıgımızda A sütunundaki yazdıgımız seye benzer ifadeler listelenecektir diğerleri görünmeyecektir tabi buna baglı olarak A sütununda görüntülenen hücrelerin yanındaki B/C/D/E/F... vs sütunlarına ait ilgili satırlar görünecektir. bu çok işinize yarayabilir mesela birçok müşteri isimleri oldugunu düşünelim A sütununda B, C, D,.. sütununda bu müşterilere ait bilgilerin oldugunu varsayalım
sadece textboxa müşteri ismini yazarak o müşteriye ait kayıtların tümünü tek başına görebiliriz.. deneyin aklınıza daha farklı seylerde kullanmakta gelcektir...

vizyon sahibi olun ufkunuzu acın bu forumda dolasarak neler neler yapanları göreceksiniz bi bilseniz....
excelin vb nin gucunu daha iyi anlamanız için arastırmaya ögrenmeye devam tabi ögrendiklermizi paylasalım ki baskalarınada faydamız olsun sadece kendimize değil....

saglık ve esenlikler dilerim bu arada göz sağlıgınıza da dikkat edin...




Yorumlar, eklemeler ve düşünceler
        Çok güzel anlatmışsınız hiç bilmeyen için teşekürler örnekli anlatım içinde ikinci örnekte AFAT LİSTE geçişte çok ugraştım hata verdi ama yılmmadım aradım araştırdım buldum niye hata verdiğni formuldeki isimle sayfaya verilen isim aynı ama sayfa ismini sitede yazdığı gibi aldım ama sayfa ismi kayıt yaparken bir boşluk kalmış önde ondan olmuş .

   kkkmert, 26.11.2010 00:48
© Hakan Ersöz 2000-2013| Üyelik Sözleşmesi | | Ödeme Bildirimi
Sitemizden yenilikleri hemen öğrenin, pop upları engelleyin, chat yapın... ToolBarımızı indirin:
Vasicmaster Toolbar'ı indirin