Grafik sayfası olaylarını kullanmak (özellikle grafikler için çalışma sayfası) oldukça basittir. Ancak olayları gömülü grafiklerde kullanmak söz konusu olduğunda, bu o kadar basit değil. Ama sizi temin ederim ki, gömülü grafiklere sahip olayları etkinleştirmek o kadar da zor değil. Uygulama olayları oluşturmaya çok benzer. O halde daha fazla gecikmeden, başlayalım.
Bu nedenle, katıştırılmış bir grafik olayını etkinleştirmek için iki adım vardır. Birincisi, grafik olay sınıfı oluşturmak ve olayları tanımlamaktır. İkincisi, o olay sınıfının bir nesnesini yaratmaktır. Bu kadar.
Adım 1: Grafik Olay Sınıfı Oluşturun ve Olayları Tanımlayın
- Bir sınıf modülü ekleyin. İstediğiniz gibi adlandırın. Ben buna ChartClass adını verdim.
- WithEvents anahtar sözcüğüyle Grafik türünde bir olay değişkeni tanımlayın.
Özel WithEvents CEvents As Chart
- Bu olayı class_initialize() alt yordamında başlatın.
Soldaki açılır menüden sınıfı seçin. Daha sonra, sağ üstteki açılır menüden başlat'ı seçin.Private Sub Class_Initialize() Set CEvents = ActiveSheet.ChartObjects(1).Chart End Sub
Burada, bu sayfada oluşturulan ilk grafikle CEvents Grafiği'ni başlatıyoruz. 1, etkin sayfadaki grafik nesnelerinin dizin numarasıdır.
- Şimdi kullanmak istediğiniz olayları tanımlayın. Sol üstteki açılır menüden CEvent nesnesini seçin. Mevcut tüm olay işleme prosedürleri, sağ üstteki açılır menüde size sunulacaktır. Hangisine ihtiyacınız varsa seçin ve o olay tetiklendiğinde ne yapmak istediğinizi tanımlayın.
Kullanımı göstermek için CEvents_Activate Olayını seçiyorum. Bir mesaj kutusunda grafik olayının aktif olduğunu kullanıcıya göstermeye çalışacağım.Private Sub CEvents_Activate() MsgBox "Grafik Olaylar çalışıyor" End Sub
Buradaki işimiz bitti. Burada grafik türü için mevcut olaylardan istediğiniz kadar olay oluşturabilirsiniz. Ama olaylar henüz işe yaramayacak çünkü bu sadece bir sınıf. Bu sınıfın nesnesini herhangi bir normal modülde veya nesne modülünde bir altta oluşturmamız gerekiyor. Sonra o alt çalıştırın. Ardından etkinliğimiz çalışmaya başlayacaktır.
Adım 2: Modülde Grafik Sınıfı Nesnesini oluşturun.
- Normal bir modül takın.
- Daha önce oluşturduğunuz sınıfın bir değişkenini bildirin.
ChartClass olarak mychart'ı karart
- Bir alt oluşturun ve değişkeni ChartClass sınıfının nesnesiyle başlatın.
Sub activateChartEvent() Mychart'ı ayarla = New ChartClass End Sub
- F5 kullanarak bu alt çalıştırın. Bu kodu çalıştıracağınız için, grafik olay Setinin başlatılması için bu satırı kullandığımızdan, o anda aktif olan sayfadaki ilk grafik için grafik olayları aktif olacaktır. CEvents = ActiveSheet.ChartObjects(1).Chart.
Ve yapılır. Şimdi, o anda aktif olan sayfada ilk grafiğe tıklarsanız, Grafik Olaylarının çalıştığı mesajını gösterecektir.
VBA Uygulama Olaylarını Açma ve Kapatma
Normal modülde makroyu çalıştırdığınızda, olayları içeren çalışma kitabını kapatana kadar her zaman tetiklenir. Ancak bunları istediğiniz gibi açıp kapatmak isteyebilirsiniz. Bunu yapmanın iki yolu vardır.
- Olay Nesnesini İptal Et
- EnableEvents'i False olarak ayarlayın
1. Olay Nesnesini İptal Etme
Ayrı bir alt yordamda, olay nesnesini Hiçbir Şey olarak ayarlayın.
Private Sub StopEvents() Set Mychart= Nothing End Sub
Bu kodu çalıştırdığınızda, olaylar çalışmayı durduracaktır. Olayları durdurmak için bunu çalışma sayfasındaki bir düğmeye koyabilirsiniz. Şimdi bu belirli olayları başlatmak ve durdurmak için iki düğmeniz olacak. Sadece AppE nesnesi tarafından oluşturulan olayları durduracaktır.
2. EnableEvents'i False olarak ayarlayın
İkinci yöntem, olayları devre dışı bırakmaktır. Tüm olayları yakalanamaz hale getirmek için Application sınıfının EnableEvents özelliğini şu şekilde ayarladık:YANLIŞ.
Private Sub StopEvents() Application.EnableEvents= False End Sub
Yukarıdaki kod tüm olayları devre dışı bırakacaktır. Varsayılan excel olayları bile. Siz onları yeniden başlatana kadar çalışmayacaklar. StartEvents() alt yordamını (yukarıda) çalıştırsanız bile, olay çalışmayacaktır. Tüm olayların yeniden çalışmasını sağlamak için EnableEvents özelliğini tekrar True olarak ayarlamanız gerekir.
Bu nedenle, etkinlikleri her başlattığınızda etkinliklerinizin çalışmasını istiyorsanız, bu kod satırını alt bölüme ekleyin.
Private Sub StartEvents() Application.EnableEvents = True Set mychart = New ChartClass End Sub
Çalışma Kitabı Her Açıldığında Özel Grafik Olaylarını Başlatma
Son kullanıcı için bir araç geliştiriyorsanız, olayların otomatik olarak çalışmasını isteyebilirsiniz. Bu durumda olay başlatıcıyı normal bir modül yerine Workbook_open() olayı ile Workbook nesnesine koyabilirsiniz. Bu, olayları içeren çalışma kitabını açar açmaz olay nesnenizin başlatılmasını sağlar.
Evet arkadaşlar, katıştırılmış grafik olayını excel'de bu şekilde kullanabilirsiniz. Bunun yeterince açıklayıcı olup olmadığını ve Excel VBA'daki Uygulama Düzeyindeki Olayları anlamanıza yardımcı olup olmadığını bana bildirin. Düşüncelerinizi aşağıdaki yorumlar bölümüne yazın. Buna ekleyeceğiniz bir şey varsa onu da yazın. Bu makale veya başka bir excel VBA ile ilgili konu ile ilgili sorularınızı aşağıdaki yorumlar bölümünde sorabilirsiniz.
Aşağıdaki çalışma dosyasını indirin:
Excel VBA'daki Olaylar |Excel'de yedi tür Etkinlik vardır. Her olay farklı kapsamda ele alınır. Uygulama Olayı, çalışma kitabı düzeyinde ilgilenir. Sayfa düzeyinde çalışma kitabı. Aralık düzeyinde Çalışma Sayfası Etkinliği.
Excel VBA'daki Çalışma Sayfası Olayları|Çalışma sayfası olayı, sayfada belirli bir olay meydana geldiğinde makrolarınızın çalışmasını istediğinizde gerçekten kullanışlıdır.
Microsoft Excel'de VBA kullanan çalışma kitabı olayları | Çalışma kitabı olayları, çalışma kitabının tamamında çalışır. Tüm sayfalar çalışma kitabının bir parçası olduğundan, bu olaylar onlarda da çalışır.
Microsoft Excel'de VBA kullanarak bir otomatik makro/olay makro yürütmesini önleme| auto_open makrosunun çalışmasını önlemek için shift tuşunu kullanın.
Microsoft Excel'de VBA kullanarak nesne olaylarını grafikleyin| Grafikler karmaşık nesnelerdir ve onlara eklediğiniz birkaç bileşen vardır. Grafik Olaylarını yapmak için Sınıf modülünü kullanıyoruz.
Popüler Makaleler:
Verimliliğinizi Artıracak 50 Excel Kısayolu | Görevinizde daha hızlı olun. Bu 50 kısayol, çalışmanızı Excel'de daha da hızlandıracak.
Excel'de DÜŞEYARA İşlevi | Bu, farklı aralıklardan ve sayfalardan değer aramak için kullanılan excel'in en çok kullanılan ve popüler işlevlerinden biridir.
Excel 2016'da EĞERSAY | Bu şaşırtıcı işlevi kullanarak değerleri koşullarla sayın. Belirli bir değeri saymak için verilerinizi filtrelemeniz gerekmez. Gösterge tablonuzu hazırlamak için Countif işlevi gereklidir.
Excel'de SUMIF İşlevi Nasıl Kullanılır | Bu, başka bir gösterge panosu temel işlevidir. Bu, belirli koşullardaki değerleri özetlemenize yardımcı olur.