Может быть, это можно сделать с помощью VBA, но здесь я предлагаю другое решение, которое позволит вам сделать это, используя JavaScript .Вы можете использовать бесплатную надстройку Excel под названием Funfun, которая позволяет использовать код JavaScript непосредственно в Excel.При этом вы можете использовать библиотеки, такие как HighCharts.js или D3.js, чтобы нарисовать круговую диаграмму и индивидуально управлять цветом.Вот пример, который я сделал на основе вашего описания.
![enter image description here](https://i.stack.imgur.com/pZ34m.png)
Цвета различных частей круговой диаграммы определяются данными третьего столбца в электронной таблице.В этом примере я использовал HighCharts.js для управления рисованием этого графика.Конкретный код, который контролирует цвет, можно увидеть, как показано ниже.
var pieColors =[];
for(var i=1;i<data.length;i++){
switch(parseInt(data[i][2])){
case 0:
pieColors.push('blue');
break;
case 1:
pieColors.push('green');
break;
case 2:
pieColors.push('orange');
break;
case 3:
pieColors.push('purple');
break;
case 4:
pieColors.push('red');
break;
case 5:
pieColors.push('brown');
break;
}
}
В этом примере я просто вручную выбрал шесть цветов, но вы можете легко генерировать случайный цвет или цвет в определенном диапазоне с помощью кода JavaScript.
Надстройка Funfun также имеет онлайн-редактор, в котором вы можете проверить свой код и результаты.Вы можете проверить подробный код и этот пример по ссылке ниже.
https://www.funfun.io/1/#/edit/5a4f4680c3a8a526caeec989
Как только вы будете удовлетворены результатом, вы можете легко загрузить результат в Excel, используя ссылку выше.Но, конечно, во-первых, вам нужно добавить надстройку Funfun в Excel с помощью Вставка - Надстройки Office .Вот несколько скриншотов, показывающих, как вы загружаете пример в Excel.
![enter image description here](https://i.stack.imgur.com/8yM7T.png)
![enter image description here](https://i.stack.imgur.com/GxoC3.png)
Раскрытие информации: я разработчик Funfun