Seçilen seçeneklere göre verilerini değiştiren bir grafik içeren bir pano yapmak istiyorsanız, VBA'daki olayları kullanabilirsiniz. Evet, yapılabilir. Herhangi bir açılır menüye, dilimleyiciye veya birleşik giriş kutusuna ihtiyacımız olmayacak. Seçilen hücreden bir grafik oluşturmak için hücreleri tıklanabilir hale getireceğiz ve verileri değiştireceğiz.
Excel'de hücre seçimine göre değişen dinamik grafikler oluşturmak için aşağıdaki adımları izleyin.
Adım 1: Tablodaki verileri grafik için kaynak olarak hazırlayın.
Burada bir sayfada farklı bölgelerden bazı örnek verilerim var. Kaynak veri adını verdim.
Adım 2: Bir bölgenin verilerini farklı bir sayfada aynı anda alın.
- Şimdi yeni bir sayfa ekleyin. Uygun şekilde adlandırın. Adını "Dashboard" koydum.
- Tüm ayları tek bir sütuna kopyalayın. Ayın yanına bir bölgenin adını yazın.
- Şimdi hücre D1'deki bölgenin verilerini çekmek istiyoruz. D1'de bölge değiştikçe verilerin değişmesini istiyoruz. Bunun için İki Yönlü Aramayı kullanabiliriz.
Kaynak verilerim Kaynak Veri Sayfasında A2:D8'de olduğundan. Aşağıdaki formülü kullanıyorum.
=DÜŞEYARA(C2,'Kaynak Verileri'!$A$2:$D$8,KİBRİT($D$1,'Kaynak Verileri'!$A$1:$D$1,0)) |
Burada DÜŞEYARA için dinamik sütun indeksleme kullanıyoruz. Bununla ilgili buradan okuyabilirsiniz.
- Gösterge Tablosu sayfasında bu verileri kullanarak bir grafik ekleyin. Basit bir çizgi grafiği kullanıyorum. Göstermek istemiyorsanız grafiğin kaynağını gizleyin.
Şimdi D1'de bölge adını değiştirdikçe grafik de buna göre değişecektir. Sonraki adım, belirtilen hücreden bir seçenek belirlerken D1'deki bölge adını değiştirmektir.
Aşama 3: Belirtilen aralıkta bir bölge adı seçerken bölgeyi değiştirin.
- Tüm bölgelerin isimlerini bir aralıkta yaz, ben onları A2:A4 aralığında yazıyorum.
- Pano sayfası adına sağ tıklayın ve çalışma sayfası olayını kullanabilmemiz için doğrudan VBE'de Çalışma Sayfası Modülüne girmek için "Kodu Görüntüle" seçeneğine tıklayın.
- Şimdi VB Editor'da aşağıdaki kodu yazın.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Eğer Kesişmiyorsa(Target, Range("A2:A4")) Range("A2:A4").Interior.ColorIndex = xlColorIndexNone Dim bölgesi As Variant bölgesi = Target.value Hatada GoTo err: Durum bölgesini seçin Durum Is = "Merkez" Aralık("D1").value = bölge Durum Is = "Doğu" Aralık("D1").value = bölge Durum Is = "Batı" Aralık("D1 ".value = bölge Durum Else MsgBox "Geçersiz Seçenek" End Select Target.Interior.ColorIndex = 8 End If err: End Sub
Ve yapılır. Şimdi, A2:A4 aralığında bir hücre seçeceğiniz zaman, değeri D1'e atanacak ve grafiğin verileri buna göre değişecektir.
Bu kodun nasıl çalıştığını aşağıda anlattım. Bunu anlayabilir ve ihtiyacınıza göre değişiklik yapabilirsiniz. Bu örnekte burada kullandığım yardım konularına bağlantılar sağladım. Öyleyse onları kontrol et.
Kod nasıl çalışıyor?
Burada Excel Olayını kullandım. Olayları tetiklemek için bir çalışma sayfası olayı "SelectionChange" kullandım.
Kesişmiyorsa(Hedef, Aralık("A2:A4")) O Zaman Hiçbir Şey Değildir
Bu satır, odağı A2:A4 aralığına ayarlar, böylece SelectionChange olayı yalnızca seçim A2:A4 aralığında olduğunda tetiklenir. If ve End arasındaki kod, yalnızca seçim A2:A4 aralığındaysa çalışır. Artık grafiğinizi dinamik hale getirmek için ihtiyacınıza göre ayarlayabilirsiniz.
Range("A2:A4").Interior.ColorIndex = xlColorIndexYok
Bu satır, A2:A4 aralığının rengini hiçbir şeye ayarlar.
bölge = Hedef.değer Hatasında GoTo hatası:
Yukarıdaki iki satırda değişken bölgesindeki seçili hücrelerin değerini alıyoruz ve oluşan herhangi bir hatayı yok sayıyoruz. Oluşan herhangi bir hatayı yok saymak istediğinizden emin olana kadar "On Error GoTo err:" satırını kullanmayın. Birden fazla hücre seçtiğimde bir hatayı önlemek için kullandım.
Vaka bölgesini seçin Vaka Is = "Merkez" Aralık("D1").değer = bölge Vaka Is = "Doğu" Aralık("D1").değer = bölge Vaka Is = "Batı" Aralık("D1").değer = bölge Case Else MsgBox "Geçersiz Seçenek" Son Seçim
Yukarıdaki satırlarda, D1 aralığının değerini ayarlamak için excels Select Case Statement kullanıyoruz.
Target.Interior.ColorIndex = 8 End If err: End Sub
End If ifadesinden önce, seçilen seçeneğin rengini vurgulanacak şekilde değiştiririz. Ardından If ifadesi biter ve err: etiketi başlar. Select deyimi sırasında herhangi bir hata oluşursa, On Error deyimi bu etikete atlayacaktır.
Aşağıdaki çalışma dosyasını indirin.
Microsoft Excel'de VBA Kullanan Gömülü Grafik Olayları| Gömülü çizelge olayları, grafiğinizi normal çizelgelerden daha etkileşimli, dinamik ve kullanışlı hale getirebilir. Olayları grafiklerde etkinleştirmek için…
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.