Makro çalıştırma

Microsoft Excel'de makro çalıştırmanın farklı yolları vardır. Makro, görevleri otomatikleştirmeniz için kullanabildiğiniz bir veya bir dizi eylemdir. Makrolar Visual Basic for Applications programlama dilinde kaydedilir. Şeritteki (Geliştiricisekmesinde Kod grubu) Makrolar komutunu tıklatarak makroyu her zaman çalıştırabilirsiniz. Makronun çalıştırılmak amacıyla nasıl atandığına bağlı olarak CTRL tuş bileşimine kısayol tuşu (kısayol tuşu: Bir menü komutunu uygulamak için kullandığınız, F5 veya CTRL+A gibi bir fonksiyon tuşu veya tuş kombinasyonu. Buna karşıt olarak, bir erişim tuşu, odağı bir menü, komut veya denetime taşıyan, ALT+F gibi bir tuş kombinasyonudur.) basarak veya Hızlı Erişim Araç Çubuğu'ndaki düğmeye ya da şeritteki özel gruba veya nesne, grafik, denetim üzerindeki bir alanı tıklatarak da makroyu çalıştırabilirsiniz. Ek olarak, Ek olarak, çalışma kitabını açtığınızda da makroyu otomatik olarak çalıştırabilirsiniz.

Not    Excel'de makro güvenlik düzeyini Bildirimde bulunmadan tüm makroları devre dışı bırak olarak ayarladığınızda, Excel yalnızca dijital olarak imzalanan veya bilgisayarınızdaki Excel başlangıç klasörü gibi güvenilir bir konumda depolanan makroları çalıştırır. Çalıştırmak istediğiniz makro dijital olarak imzalanmamışsa (dijital imza: Bir makro veya belge üzerindeki elektronik, şifreleme tabanlı, güvenli orijinallik damgası. Bu imza, makro veya belgenin kaynağının imzalayan olduğunu ve değiştirilmediğini gösterir.) veya güvenilir bir konumda (güvenilir konum: Kod çalıştırmanın güvenli olduğu, bilgisayarınızdaki bir klasör veya dosya yolu ya da intranetinizdeki bir konum. Varsayılan güvenilir konumlar Şablonlar, Eklentiler ve Başlangıç klasörleridir ve kendi güvenilir konumlarınızı belirtebilirsiniz.) bulunmuyorsa, geçici olarak güvenlik düzeyini tüm makrolar etkileştirilecek şekilde değiştirebilirsiniz.

Ne yapmak istiyorsunuz?


Makro çalıştırma

  1. Geliştirici sekmesi kullanılamıyorsa, bu sekmeyi görüntülemek için aşağıdakileri yapın:
    1. Dosya sekmesini tıklatın, Seçenekler'i ve sonra da Şeridi Özelleştir kategorisini tıklatın.
    2. Ana Sekmeler listesinde Geliştirici onay kutusunu seçip Tamam'ı tıklatın.
  2. Güvenlik düzeyini, tüm makrolar etkinleştirilecek şekilde geçici olarak ayarlamak için aşağıdakileri yapın:
  1. Geliştirici sekmesinde, Kod grubunda, Makro Güvenliği öğesini tıklatın.

Geliştirici sekmesindeki Kod grubu

  1. Makro Ayarları kategorisinde, Makro Ayarları altında, Tüm makroları etkinleştir (önerilmez; tehlikeli olabilecek kod çalıştırılabilir) seçeneğini tıklatıp Tamam düğmesini tıklatın.

Not    Tehlikeli olabilecek bir kodun çalışmasını engellemek için makrolarla çalışmayı bitirdikten sonra tüm makroları devre dışı bırakan ayarlardan birine dönmenizi öneririz.

  1. Makroyu içeren çalışma kitabını açın.
  2. Geliştirici sekmesinde, Kod grubunda Makrolar öğesini tıklatın.Geliştirici sekmesinde Kod grubu
  3. Makro adı kutusunda, çalıştırmak istediğiniz makroyu tıklatın.
  4. Aşağıdakilerden birini yapın:
  • Excel çalışma kitabında makro çalıştırmak için Çalıştır komutunu tıklatın.

İpucu    Makroyu çalıştırmak için CTRL+F8 tuş birleşimine de basabilirsiniz. ESC tuşuna basarak makronun yürütülmesini durdurabilirsiniz.

Sayfanın Başı Sayfanın Başı

CTRL birleşimli bir kısayol tuşuna basarak makro çalıştırma

  1. Geliştirici sekmesi kullanılamıyorsa, bu sekmeyi görüntülemek için aşağıdakileri yapın:
    1. Dosya sekmesini tıklatın, Seçenekler'i ve sonra da Şeridi Özelleştir kategorisini tıklatın.
    2. Ana Sekmeler listesinde Geliştirici onay kutusunu seçip Tamam'ı tıklatın.
  2. Geliştirici sekmesinde, Kod grubunda Makrolar öğesini tıklatın.Geliştirici sekmesinde Kod grubu
  3. Makro adı kutusunda, CTRL birleşimli bir kısayol tuşuna atamak istediğiniz makroyu tıklatın.
  4. Seçenekler'i tıklatın.

Makro Seçenekleri iletişim kutusu görünür.

  1. CTRL tuşuyla, Kısayol tuşu kutusuna kullanmak istediğiniz küçük veya büyük harfi yazın.

Not    Makroyu içeren çalışma kitabı açıkken kısayol tuşu, varsayılan eşdeğer Excel kısayol tuşunu geçersiz kılar.

Excel'de önceden atanmış CTRL birleşimli kısayol tuşlarının listesi için Excel'de kısayollar ve işlev tuşları makalesine bakın.

  1. Açıklama kutusuna makro açıklamasını yazın.
  2. Değişikliklerinizi kaydetmek için Tamam'ı, Makro iletişim kutusunu kapatmak için de İptal'i tıklatın.

Sayfanın Başı Sayfanın Başı

Hızlı Erişim Araç Çubuğu'ndaki bir düğmeyi tıklatarak makro çalıştırma

Makroyu çalıştıracak Hızlı Erişim Araç Çubuğu'na düğme eklemek için aşağıdakileri yapın:

  1. Dosya sekmesini, Seçenekler'i ve Hızlı Erişim Araç Çubuğu'nu tıklatın.
  2. Komutları seçin listesinde Makrolar'ı seçin.
  3. Listede, oluşturduğunuz makroyu tıklatın ve sonra da Ekle'yi tıklatın.
  4. Makronun düğme resmini değiştirmek için eklendiği kutuda makroyu seçin ve Değiştir'i tıklatın.
  5. Simge'nin altında, kullanmak istediğiniz düğme resmini tıklatın.
  6. İşaretçiyi düğmenin üzerinde beklettiğinizde görüntülenen makro adını değiştirmek için, Görüntü adı kutusuna kullanmak istediğiniz adı yazın.
  7. Makro düğmesini Hızlı Erişim Araç Çubuğu'na eklemek için Tamam'ı tıklatın.
  8. Hızlı Erişim Araç Çubuğu'nda o sıra eklemiş olduğunuz makro düğmesini tıklatın.

Sayfanın Başı Sayfanın Başı

Şeritteki özel grupta düğme tıklatarak makro çalıştırma

Excel 2010 uygulamasındaki şeridin özelleştirilmesinin avantajlarından yararlanarak şeritteki sekmede görüntülenen özel grup oluşturabilir, sonra da bu gruptaki düğmeye makro atayabilirsiniz. Örneğin, "Makrolarım" adıyla özel bir grubu Geliştirici sekmesine ekleyebilir, sonra da yeni gruba makro ekleyebilirsiniz (düğme olarak görünür).

Daha fazla bilgi için Şeridi özelleştirme makalesine bakın.

Sayfanın Başı Sayfanın Başı

Grafik nesnesindeki bir alanı tıklatarak makro çalıştırma

Kullanıcıların makroyu çalıştırabilmesi için grafikte etkin nokta oluşturabilirsiniz.

  1. Çalışma sayfasına resim, küçük resim, şekil veya SmartArt gibi bir grafik nesnesi ekleyin.

Grafik nesnesi ekleme hakkında daha fazla bilgi için bkz. Şekil ekleme, değiştirme veya silme.

  1. Varolan nesnede etkin nokta oluşturmak için Ekle sekmesinde, Çizimler grubunda, Şekiller'i tıklatıp istediğiniz şekli seçin ve bu şekli varolan nesneye çizin.

Ekle sekmesinde Çizimler grubu

  1. Oluşturduğunuz etkin noktayı sağ tıklattıktan sonra Makro Ata'yı tıklatın.
  2. Aşağıdakilerden birini yapın:
    • Varolan bir makroyu grafik nesnesine atamak için makroyu çift tıklatın veya makro adını Makro adı kutusuna girin.
    • Seçili grafik nesnesine atanacak yeni bir makroyu kaydetmek için Kaydet'i tıklatın, Makro Kaydet iletişim kutusuna makro için bir ad yazın ve makronun kaydedilmeye başlaması için Tamam'ı tıklatın. Makroyu kaydettikten sonra Kod grubundaki Geliştirici sekmesinde yer alan Kaydı Durdur Düğme resmi seçeneğini tıklatın.

İpucu    Durum çubuğunun sol tarafındaki Kaydı Durdur Düğme resmi seçeneğini de tıklatabilirsiniz.

  • Varolan makroyu düzenlemek için Makro adı kutusundan makronun adını seçin ve sonra Düzen komutunu tıklatın.
  1. Tamam'ı tıklatın.
  2. Çalışma sayfasında etkin noktayı seçin. Biçim sekmesi eklenerek Çizim Araçları görüntülenir.
  3. Biçim sekmesindeki, Şekil Stilleri grubunda, Şekil Dolgusu'nun yanındaki oku, ardından Dolgu Yok'u tıklatın.

Çizim Araçları'nın Biçim sekmesinde Şekil Stilleri grubu

  1. Şekil Seviyelendirme'nin yanındaki oku tıklatın ve ardından Seviyelendirme Yok'u tıklatın.

Sayfanın Başı Sayfanın Başı

Çalışma kitabı açıldığında otomatik olarak çalışması için makro yapılandırma

Bir makroyu kaydedip "Kendiliğinden_Aç" adıyla saklarsanız, bu makro, onu içeren çalışma kitabını her açışınızda çalıştırılır. Çalışma kitabını açtığınızda bir makroyu otomatik olarak çalıştırmanın diğer bir yolu ise Visual Basic Düzenleyicisi (Visual Basic Düzenleyicisi: Yeni Visual Basic for Applications kodu ve yordamları yazdığınız ve varolanları düzenlediğiniz bir ortam. Visual Basic Düzenleyicisi kodunuzdaki söz dizimi, çalıştırma ve mantık sorunlarını bulmak için tam bir hata ayıklama araç kümesi içerir.)'ni kullanarak çalışma kitabının Open olayında bir VBA yordamı yazmaktır. Open olayı, çalışma kitabını her açışınızda kendi makro kodunu çalıştıran yerleşik bir çalışma kitabı olayıdır.

Kendiliğinden_Aç makrosu oluşturma

  1. Geliştirici sekmesi kullanılamıyorsa, bu sekmeyi görüntülemek için aşağıdakileri yapın:
    1. Dosya sekmesini ve Seçenekler'i tıklatın.
    2. Şeridi Özelleştir kategorisinde, Ana Sekmeler listesinde, Geliştirici onay kutusunu seçip Tamam düğmesini tıklatın.
  2. Güvenlik düzeyini, tüm makrolar etkinleştirilecek şekilde geçici olarak ayarlamak için aşağıdakileri yapın:
  1. Geliştirici sekmesinde, Kod grubunda Makro Güvenliği öğesini tıklatın.Geliştirici sekmesinde Kod grubu
  2. Makro Ayarları kategorisinde, Makro Ayarları altında, Tüm makroları etkinleştir (önerilmez, tehlikeli olabilecek kod çalıştırılabilir) seçeneğini tıklatıp, ardından Tamam düğmesini tıklatın.

Not    Tehlikeli olabilecek bir kodun çalışmasını engellemek için makrolarla çalışmayı bitirdikten sonra tüm makroları devre dışı bırakan ayarlardan birine dönmenizi öneririz.

  1. Makroyu belirli bir çalışma kitabıyla kaydetmek isterseniz, önce o çalışma kitabını açın.
  2. Geliştirici sekmesinde, Kod grubunda, Makro Kaydet öğesini tıklatın.
  3. Makro adı kutusuna Kendiliğinden_Aç yazın.
  4. Makroyu kaydetme yeri listesinde, makroyu depolamak istediğiniz çalışma kitabını seçin.

İpucu    Makronun, Excel'i her kullanışınızda geçerli olmasını isterseniz Kişisel Makro Çalışma Kitabı 'nı seçin. Kişisel Makro Çalışma Kitabı 'nı seçtiğinizde, Excel daha önce oluşturulmamışsa gizli bir kişisel makro çalışma kitabı (Personal.xlsb) oluşturur ve makroyu bu çalışma kitabına kaydeder. Windows Vista'da bu çalışma kitabı C:\Users\ kullanıcı adı \AppData\Local\Microsoft\Excel\XLStart klasörüne kaydedilir ve Excel her başlatıldığında otomatik olarak yüklenebilir. Burada bulamazsanız, Yerel yerine Dolaşım alt klasörüne kaydedilmiş olabilir. Microsoft Windows XP'de bu çalışma kitabı C:\Documents and Settings\ kullanıcı adı \Application Data\Microsoft\Excel\XLStart klasörüne kaydedilir. XLStart klasöründeki çalışma kitapları, Excel her başlatıldığında otomatik olarak açılır. Kişisel makro çalışma kitabındaki makronun başka bir çalışma kitabında otomatik olarak çalıştırılmasını isterseniz, Excel başlatıldığında her iki çalışma kitabının açılması için, o çalışma kitabını da XLStart klasörüne kaydetmeniz gerekir.

  1. Tamam düğmesini tıklatın ve daha sonra, kaydetmek istediğiniz eylemleri gerçekleştirin.
  2. Geliştirici sekmesinde, Kod grubunda, Kaydı Durdur Düğme resmi öğesini tıklatın.

İpucu    Durum çubuğunun sol tarafındaki Kaydı Durdur seçeneğini de tıklatabilirsiniz.

Durum çubuğundaki Kaydı Durdur düğmesi

Notlar    

  • Makroyu 6. adımda Bu Çalışma Kitabı veya Yeni Çalışma Kitabı öğesine kaydetmeyi seçerseniz, çalışma kitabını XLStart klasörlerinden birine kaydedin veya taşıyın.
  • Kendiliğinden_Aç makrosu kaydedilirken aşağıdaki sınırlamalara tabi tutulur:
    • Kendiliğinden_Aç makrosunu kaydettiğiniz çalışma kitabının Open olayında zaten bir VBA yordamı varsa, Open olayının VBA yordamı, Kendiliğinden_Aç makrosundaki tüm eylemleri geçersiz kılar.
    • Bir çalışma kitabı, Open yöntemi kullanılarak programlama yoluyla açıldığında Kendiliğinden_Aç makrosu yok sayılır.
    • Kendiliğinden_Aç makrosu, diğer çalışma kitapları açılmadan çalıştırılır. Dolayısıyla, Excel'in gerçekleştirmesini istediğiniz eylemleri varsayılan Kitap1 çalışma kitabına veya XLStart klasöründen yüklenen bir çalışma kitabına kaydederseniz, makro varsayılan ve başlangıç çalışma kitapları açılmadan önce çalıştırılmış olacağı için Excel'i yeniden başlattığınızda Kendiliğinden_Aç makrosu başarısız olur.

Bu sınırlamalarla karşılaşırsanız, bu makalenin sonraki bölümünde anlatıldığı gibi Open olayı için Kendiliğinden_Aç makrosu kaydetmek yerine bir VBA yordamı oluşturmanız gerekir.

  • Excel'in Kendiliğinden_Aç makrosu çalıştırılmadan başlatılmasını istiyorsanız, Excel'i başlatırken SHIFT tuşunu basılı tutun.

Çalışma kitabının Open olayı için bir VBA yordamı oluşturma

Aşağıdaki örnekte, çalışma kitabını açtığınızda bir makro çalıştırılması için Open olayı kullanılır.

  1. Geliştirici sekmesi kullanılamıyorsa, bu sekmeyi görüntülemek için aşağıdakileri yapın:
    1. Dosya sekmesini ve Seçenekler'i tıklatın.
    2. Şeridi Özelleştir kategorisinde, Ana Sekmeler listesinde, Geliştirici onay kutusunu seçip Tamam düğmesini tıklatın.
  2. Güvenlik düzeyini, tüm makrolar etkinleştirilecek şekilde geçici olarak ayarlamak için aşağıdakileri yapın:
  1. Geliştirici sekmesinde, Kod grubunda Makro Güvenliği öğesini tıklatın.Geliştirici sekmesinde Kod grubu
  2. Makro Ayarları kategorisinde, Makro Ayarları altında, Tüm makroları etkinleştir (önerilmez, tehlikeli olabilecek kod çalıştırılabilir) seçeneğini tıklatıp, ardından Tamam düğmesini tıklatın.

Not    Tehlikeli olabilecek bir kodun çalışmasını engellemek için makrolarla çalışmayı bitirdikten sonra tüm makroları devre dışı bırakan ayarlardan birine dönmenizi öneririz.

  1. Tüm açık çalışma kitaplarını kaydedin ve kapatın.
  2. Makroyu eklemek istediğiniz çalışma kitabını açın veya yeni bir çalışma kitabı oluşturun.
  3. Geliştirici sekmesinde, Kod grubunda, Visual Basic öğesini tıklatın.
  4. Project Explorer penceresinde Bu Çalışma Kitabı nesnesini sağ tıklatın, sonra da Kod Görüntüle komutunu tıklatın.

İpucu    Project Explorer penceresi görünmezse Görünüm menüsünde Project Explorer öğesini tıklatın.

  1. Kod penceresinin üst bölümündeki Nesne listesinde Çalışma kitabı seçeneğini belirleyin.

Bu işlem, Open olayı için otomatik olarak şu şekilde boş bir yordam oluşturur:

Private Sub Workbook_Open()

End Sub
  1. Aşağıdaki kod satırlarını yordama ekleyin:
Private Sub Workbook_Open()
    MsgBox Date
    Worksheets("Sheet1").Range("A1").Value = Date
End Sub
  1. Excel'e geçip çalışma kitabını makroları etkin çalışma kitabı (.xlsm) olarak kaydedin.
  2. Çalışma kitabını kapatıp yeniden açın. Dosyayı yeniden açtığınızda, Excel bir ileti kutusunda bugünün tarihini görüntüleyen Workbook_Open yordamını çalıştırır.
  3. İleti kutusunda Tamam düğmesini tıklatın.

Sayfa1'deki A1 hücresinde, Workbook_Open yordamının çalıştırılması nedeniyle tarih bulunmaktadır.

Sayfanın Başı Sayfanın Başı

 
 
Uygulandığı uygulamalar:
Excel 2010