Автоматическое добавление фотографий в точки кольцевой диаграммы на основе имени точки в Excel с использованием VBA - PullRequest
0 голосов
/ 04 мая 2018

Я совершенно новичок в VBA и работаю над проектом по созданию концентрической кольцевой диаграммы, показывающей количество различных брендов. Я пытаюсь автоматически прикрепить логотипы бренда к внешнему кольцу кольцевой диаграммы. Моя идея состоит в том, чтобы иметь один цикл, который называет каждую точку серии именем бренда, и второй цикл, который ссылается на местоположение файла, содержащего логотипы, находит соответствующий логотип и вставляет этот логотип в точку.

Я нашел несколько предыдущих вопросов / ответов о том, как называть точки на круговой диаграмме, но я не могу заставить их работать над моей диаграммой пончиков. Мне удалось скопировать одно именованное изображение из местоположения файла в одну точку диаграммы, используя

ActiveChart.SeriesCollection("Brand").Points(1).Format.Fill.UserPicture ("C:...\Abrand.JPG")

но это не очень сложно, и я не знаю, как его масштабировать, чтобы автоматически вставить любой логотип в соответствующую точку.

Любая помощь будет принята с благодарностью, и, поскольку я очень новичок, если бы вы могли комментировать то, что вы сделали, я мог бы узнать, что это тоже будет очень цениться!

1 Ответ

0 голосов
/ 04 мая 2018

Если вы можете сопоставить значения меток с именами логотипов, вы можете сделать что-то вроде этого:

Dim BrandChart As Chart
Set BrandChart = ActiveChart

Dim Brand
Dim i As Integer

i = 0
For Each Brand In BrandChart.SeriesCollection("Brand").XValues
    i = i + 1
    BrandChart.SeriesCollection("Brand").Points(i).Format.Fill.UserPicture "c:\...\" & Brand & ".jpg"
Next
...