Məlumatları olan xanalardan diaqramın rəngi

Problemin formalaşdırılması

İstərdim ki, histoqramdakı sütunlar (və ya pasta diaqramındakı dilimlər və s.) avtomatik olaraq müvafiq xanaları mənbə məlumatları ilə doldurmaq üçün istifadə olunan rəngə sahib olsunlar:

Ayrı-ayrı yoldaşların təəccüblü və qəzəbli qışqırıqlarını gözləyərək qeyd etmək lazımdır ki, əlbəttə ki, diaqramdakı doldurmanın rəngi əl ilə də dəyişdirilə bilər (sütun üzərində sağ klikləyin - Nöqtə/seriya formatı (Məlumat nöqtəsini/seriyasını formatlayın) və s. – heç kim mübahisə etmir. Ancaq praktikada, bunu birbaşa məlumat olan hüceyrələrdə etmək daha asan və daha rahat olduqda bir çox vəziyyət var və sonra diaqram avtomatik olaraq yenidən rənglənməlidir. Məsələn, bu diaqramdakı sütunlar üçün bölgəyə görə doldurmanı təyin etməyə çalışın:

Düşünürəm ki, fikri başa düşürsən, elə deyilmi?

Həll

Bunu makrodan başqa heç nə edə bilməz. Buna görə də açırıq Visual Basic redaktoru tabdan geliştirici (Tərtibatçı — Visual Basic Redaktoru) və ya klaviatura qısa yolunu basın Alt + F11, menyu vasitəsilə yeni boş modul daxil edin Daxil et - Modul və bütün işləri görəcək belə bir makronun mətnini kopyalayın:

Sub SetChartColorsFromDataCells() Əgər TypeName(Seçim) <> "ChartArea" Onda MsgBox "Snachala Vыdelite diagrammu!" Çıxın Alt Sondan Çıxın c = ActiveChart For j = 1 to c.SeriesCollection.Count f = c.SeriesCollection(j).Formula m = Split(f, ",") Set r = Range(m(2)) For i = 1 r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Next i Next j End Sub  

İndi Visual Basic-i bağlaya və Excel-ə qayıda bilərsiniz. Yaradılmış makrodan istifadə çox sadədir. Diaqramı seçin (diaqram sahəsi, qrafik sahəsi, şəbəkə və ya sütunlar deyil!):

və düymə ilə makromuzu işə salın Makro nişanı geliştirici (Tərtibatçı — Makroslar) və ya klaviatura qısayolu ilə Alt + F8. Eyni pəncərədə, tez-tez istifadə edildikdə, düyməni istifadə edərək makroya klaviatura qısa yolu təyin edə bilərsiniz. Parameters (Seçimlər).

PS

Məlhəmdəki yeganə milçək, şərti formatlaşdırma qaydalarından istifadə edərək rəngin mənbə məlumatlarının hüceyrələrinə təyin edildiyi hallar üçün oxşar funksiyadan istifadənin mümkünsüzlüyüdür. Təəssüf ki, Visual Basic-də bu rəngləri oxumaq üçün daxili alət yoxdur. Əlbəttə ki, müəyyən "dəyənəklər" var, lakin onlar bütün hallarda işləmir və bütün versiyalarda deyil.

  • Makrolar nədir, onlardan necə istifadə olunur, Visual Basic proqramında makro kodu hara daxil etmək olar
  • Excel 2007-2013-də Şərti Formatlaşdırma
  • Excel 2013-də Diaqramlarda Yeniliklər

Cavab yaz