MS Office'te VBA'yı nasıl eklerim?


21

VBA ( Visual Basic for Applications ) kodunu / makrolarını kullanan yanıtları gösteren yayınlar gördüm , ancak daha sonra VBA'nın nasıl kullanılacağı (nasıl uygulanacağı ve çalıştırılacağı) hakkında ek yorumlar da not ettim. Bu sadece kodu yürütmek için yardımcı olacağını umuyorum.

Benim sorum şu:

Bazı VBA kodum var. MS Excel veya Word veya Outlook projeme nasıl VBA ekleyebilirim?


1
Kanonik bir soru yaratmaya çalışıyorum. Referans verebileceğim diğer soruları eklemekte özgürsünüz / kapatabilir, etiket ekleyebilir veya soruyu veya cevabı düzenleyerek daha iyi hale getirebilir veya cevap gönderebiliriz.
Dave

İlgili: superuser.com/q/794590/346288 - VBA kodunda hata ayıklamak için basit "kickstart".
Hannu

Yanıtlar:


19

VBA düzenleyicisini herhangi bir Microsoft Office ürününde açmak için 1 , Alt+ tuşlarına basın F11.

Ardından, VBA'nızın nasıl uygulanmasını istediğinizi belirlemeniz gerekir. Yazılımın kaydedilmekte olan dosya veya e-tablodaki seçim gibi bir olay tarafından tetiklenmesini istiyor musunuz? Ya da kodu istediğiniz zaman kendiniz yürütebilmek mi istiyorsunuz?

Birincisi, Proje Gezgini'ne bir göz atın ve üzerinde çalışmakta olduğunuz dosyayla ilişkili projeyi bulun.

Kodunuzun belirli bir sayfayla ilişkili bir olay tarafından tetiklenmesini istiyorsanız (örn., Sayfa1'de her değer değiştiğinde kodun çalışması gerekir), Proje Gezgini'nde listelenen belirli sayfa nesnesini çift tıklatmanız gerekir. Bu, kodu yapıştırabileceğiniz bir metin kutusu açar. Olay belirli bir sayfa yerine tüm çalışma kitabıyla ilişkiliyse (örneğin, çalışma kitabı kaydedildiğinde kodun çalışması gerekir), ThisWorkbookProje Gezgini'nde nesneyi çift ​​tıklatın .

Ancak, kodunuzun bir olay tarafından tetiklenmesini istemiyorsanız, kodu bir modüle yerleştirmek istersiniz. Belgede veya çalışma kitabında, örneğin kayıtlı bir makrodan, başka bir kod varsa, bu kod bir modülde görünecektir. Mevcut bir modül varsa, çoğu durumda kodunuzu mevcut herhangi bir kodun altındaki aynı modüle yapıştırmak isteyeceksiniz. Mevcut modüller Proje Gezgini'nde listelenecektir.

Hiçbir modül yoksa, yeni bir modül takmanız gerekir. Bunu yapmak için, seçim Moduledan InsertVBA editörü penceresinde açılır menüden. Bu yeni bir modül ekleyecek ve editör penceresinin içinde bir metin penceresi görüntüleyecektir. Kodunuzu oraya yapıştırın.

Kodu bir modülde yürütmek istiyorsanız, birkaç seçeneğiniz vardır. Birincisi, kodu VBA editör penceresinden çalıştırmaktır. İmleci, çalıştırmak istediğiniz kodun herhangi bir yerine yerleştirebilir ve tuşuna basarak kodu çalıştırmak için menü çubuğunun altındaki araç çubuğunda (Çalıştır) düğmesine F5tıklayabilirsiniz “Oynat” simgesi - sağa işaret eden yeşil üçgen.

Başka bir seçenek Macrosiletişim kutusunu kullanmaktır . Açmak için aşağıdakilerden birini yapın:

  • üzerinde Viewde kurdele sekmesi, Macros(en sağda) bölmesinde, tıklayın Macrosdüğmesini
  • üzerinde Developersekmesini, Code(en solda) bölmesinde, tıklayın Macrosdüğmesini
  • Alt+ tuşuna basınF8

İletişim kutusu şöyle görünür:

resim açıklamasını buraya girin

Yukarıdaki örnekte, Çalıştırabileceğiniz YourCodetarafından

  • listeden seçip ardından Runveya
  • listeden seçin ve çift tıklayın.

______
1 uyarınca Excel 2010 Starter Edition Can I kullanımı VBA? , Excel 2010 Starter Edition'da VBA kullanamazsınız.


4

Bu adımlar Office 2010 (aksi belirtilmedikçe) kullanılarak gerçekleştirilir, ancak 2007 ve 2013 için de benzer olmalıdır. Excel ile yapıyorum ama farklılıklar ince olmalı.

İlk adım, Geliştirici sekmesini şeride eklemektir.

Office 2007'de,

  1. “Office Menüsü” -> “ (Program) Seçenekleri” ni tıklayın. (“Ofis Menüsü” Ofis düğmesisol üst köşedeki düğmeyi ifade eder .) Bu, altta “Excel Seçenekleri”, “Kelime Seçenekleri” vb. Düğmesi bulunan bir menü getirir.

  2. Seçenekler iletişim kutusunda, “Şeritte Geliştirici sekmesini göster” seçeneğini işaretleyin Ofis menüsü ve “Tamam” ı tıklayın.

  3. Yeni "Geliştirici" sekmeniz görünmelidir.

Office 2010 ve 2013'te,

  1. Dosya -> Seçenekler'e tıklayın .

  2. Şeridi Özelleştir'i seçin .

  3. Sağ tarafta Geliştirici'yi bulun ve kutuyu işaretleyin. Tıklayın Tamam .

  4. Yeni sekmeniz gösteriliyor olmalı, üzerine tıklayın ve ardından Visual Basic üzerine tıklayın .

VBA kodu düzenleme penceresi olan göz korkutucu bir ekran gösterilir.

Yan not : VBA kodu düzenleme penceresini Alt+ F11klavye kısayolunu kullanarak da açabilirsiniz (Geliştirici sekmesi gösterilmese bile).

Kod düzenleme penceresinin içinde, sol tarafta Project-VBAProject adlı bir bölmeniz olmalıdır. Burada, Microsoft Excel Nesneleri altında (kullandığınız programa (Word, Outlook vb.) Bağlı olarak bu ad farklıdır) ThisWorkbook adlı bir şeydir. ThisWorkbook'a çift tıklayın

Bu örnekte, aşağıdaki kodu kullanacağız.

sub WarnMeOfDanger()
   MsgBox "Argh, a dragon is behind you!"
end sub 

Yukarıdakilerin hepsi, ekranda bir mesaj göstermek için bir iletişim kutusu açmaktır.

Kodu kopyalayın ve VBA kodu düzenleme penceresindeki beyaz sayfaya yapıştırın.

Şimdi, VBA kod düzenleyici penceresinin üst kısmında yeşil oynat düğmesini tıklayın; bir mesaj görmelisiniz.

Yani, kodu her çalıştırmak istediğinizde, bu ekrana dönün ve oynat'a basın!

Ancak, kendi düğmenizi eklemeyi tercih edebilirsiniz. Daha sonra bir düğme eklemek isterseniz, önce kodun ilk satırının olduğuna dikkat edin WarnMeOfDanger(). Bu aslında ' altyordamımızın ' adıdır . Bunu daha sonra hatırlayacağız. Şimdi, kullandığınız Pencereyi kapatın (kod otomatik olarak kaydedilir).

Yine Geliştirici şeridindeki, tıklayın Ekle ve düğme ilk öğeyi seçin. Fare imleciniz biraz haç olur (kızgın değil, görünüşü). Düğmenin boyutunu çizin. Yeni bir pencere açılır ve düğmeyi bir işleve atama seçeneğini göstermelidir. Bu durumda, benzer bir şey görmeliyiz ThisWorkbook.WarnMeOfDanger. Buna tıklayın ve Tamam'a tıklayın .

Şimdi, yeni düğmeye basarsanız, mesaj gösterilir. Taşıma, metni değiştirme, yeniden boyutlandırma vb. Seçenekler için düğmeyi sağ tıklayın.


Aynı kişi tarafından soru-cevap? Garip .......
Prasanna

2
@Prasanna, bir soru sorduğunuzda, hemen cevaplama seçeneğiniz vardır. Unutmayın, bu bir Soru-Cevap sitesi, alakalı ve faydalı olduğu sürece kabul edildiğini düşünüyorum. Bunlardan birkaçı var.
Dave

Bunu şimdiye kadar bilmiyordum. Bilgi için teşekkürler
Prasanna

2
Kod penceresine erişmek için ilk birkaç adımı basit bir "Alt + F11" ile değiştirebilirsiniz. :)
Ƭᴇcʜιᴇ007

@ Ƭᴇcʜιᴇ007, düzenlemekten çekinmeyin :) +1
Dave
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.