Колер дыяграмы з вочак з дадзенымі

Пастаноўка задачы

Я хацеў бы, каб слупкі на гістаграме (або зрэзы на кругавой дыяграме і г.д.) аўтаматычна мелі колер, які выкарыстоўваўся для запаўнення адпаведных вочак зыходнымі дадзенымі:

Прадбачачы здзіўленыя і абураныя крыкі асобных таварышаў, варта адзначыць, што, вядома, колер залівання на схеме можна змяніць і ўручную (пстрычка правай кнопкай мышы па слупку – Фармат кропкі/серыі (Фармат пункта даных/серыі) і г. д. – ніхто не спрачаецца. Але на практыцы бывае шмат сітуацый, калі гэта прасцей і зручней зрабіць непасрэдна ў вочках з дадзенымі, і тады дыяграму трэба аўтаматычна перафарбоўваць. Паспрабуйце, напрыклад, усталяваць запаўненне па рэгіёнах для слупкоў у гэтай дыяграме:

Я думаю, вы зразумелі ідэю, ці не так?

Рашэнне

Нішто, акрамя макраса, не можа гэтага зрабіць. Таму адкрываем Рэдактар ​​Visual Basic з таб распрацоўшчык (Распрацоўшчык — рэдактар ​​Visual Basic) або націсніце спалучэнне клавіш Alt + F11, устаўце новы пусты модуль праз меню Устаўка – модуль і скапіруйце туды тэкст такога макраса, які зробіць усю працу:

Sub SetChartColorsFromDataCells() If TypeName(Selection) <> "ChartArea" Then MsgBox "Сначала выделите диаграмму!" 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)) For i = 1 To r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Next i Next j End Sub  

Цяпер вы можаце зачыніць Visual Basic і вярнуцца ў Excel. Карыстацца створаным макрасам вельмі проста. Выберыце дыяграму (вобласць дыяграмы, а не вобласць графіка, сетку або слупкі!):

і запускаем наш макрас кнопкай Макрас таб распрацоўшчык (Распрацоўшчык — Макрасы) або з дапамогай спалучэння клавіш Alt + F8. У тым жа акне, у выпадку частага выкарыстання, вы можаце прызначыць макрасу спалучэнне клавіш з дапамогай кнопкі параметры (Параметры).

PS

Адзіная кропка дэгця - гэта немагчымасць выкарыстання падобнай функцыі для выпадкаў, калі колер прысвойваецца вочкам зыходных дадзеных з дапамогай правілаў умоўнага фарматавання. На жаль, Visual Basic не мае ўбудаванага інструмента для чытання гэтых колераў. Ёсць, вядома, пэўныя «мыліцы», але яны працуюць не ва ўсіх выпадках і не ва ўсіх варыянтах.

  • Што такое макрасы, як імі карыстацца, куды ўставіць код макрасаў у Visual Basic
  • Умоўнае фарматаванне ў Excel 2007-2013
  • Што новага ў дыяграмах у Excel 2013

Пакінуць каментар