Verileriyle birlikte hücrelerden bir grafiğin rengi

Sorunun formülasyonu

Histogramdaki (veya pasta grafiğindeki vb. dilimlerdeki) sütunların, ilgili hücreleri kaynak verilerle doldurmak için kullanılan renge otomatik olarak sahip olmasını istiyorum:

Bireysel yoldaşların şaşkın ve öfkeli çığlıklarını tahmin ederek, elbette, diyagramdaki dolgunun renginin manuel olarak da değiştirilebileceğini belirtmek gerekir (sütun üzerinde sağ tıklayın - Nokta/dizi formatı (Veri noktasını/serisini biçimlendirin) vs. - kimse tartışmıyor. Ancak pratikte, bunu doğrudan veri içeren hücrelerde yapmanın daha kolay ve daha uygun olduğu birçok durum vardır ve ardından grafik otomatik olarak yeniden boyanmalıdır. Örneğin, bu grafikteki sütunlar için bölgeye göre dolguyu ayarlamayı deneyin:

Sanırım fikri anladın, değil mi?

Çözüm

Bunu makrodan başka bir şey yapamaz. Bu nedenle, açıyoruz Visual Basic düzenleyicisi sekmeden geliştirici (Geliştirici — Visual Basic Düzenleyicisi) veya klavye kısayoluna basın Alt + F11, menüden yeni bir boş modül ekleyin Ekle – Modül ve tüm işi yapacak olan böyle bir makronun metnini buraya kopyalayın:

Alt SetChartColorsFromDataCells() If TypeName(Selection) <> "ChartArea" Sonra MsgBox "Sıfırla" Exit Sub End If Set c = ActiveChart for j = 1 To c.SeriesCollection.Count f = c.SeriesCollection(j).Formula m = Split(f, ",") Set r = Range(m(2)) i için = 1 To r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Sonraki i Sonraki j Son Alt  

Artık Visual Basic'i kapatabilir ve Excel'e dönebilirsiniz. Oluşturulan makroyu kullanmak çok basittir. Grafiği seçin (grafik alanı, çizim alanı, ızgara veya sütunlar değil!):

ve makromuzu buton ile çalıştırın Makrolar çıkıntı geliştirici (Geliştirici — Makrolar) veya bir klavye kısayoluyla Alt + F8. Aynı pencerede, sık kullanım durumunda butonunu kullanarak makroya klavye kısayolu atayabilirsiniz. parametreler (Seçenekler).

PS

Merhemdeki tek sinek, koşullu biçimlendirme kurallarını kullanarak rengin kaynak verilerin hücrelerine atandığı durumlar için benzer bir işlev kullanmanın imkansızlığıdır. Ne yazık ki, Visual Basic bu renkleri okumak için yerleşik bir araca sahip değildir. Elbette bazı "koltuk değnekleri" vardır, ancak bunlar her durumda ve tüm sürümlerde çalışmaz.

  • Makro nedir, nasıl kullanılır, Visual Basic'te makro kodu nereye eklenir
  • Excel 2007-2013'te Koşullu Biçimlendirme
  • Excel 2013'teki Grafiklerdeki Yenilikler

Yorum bırak