Я зрозумів це. Почалося з необхідності встановлення моїх даних із двох визначених серій, де одна серія є цікавою групою, а друга - групою однолітків, а потім умовно заповнити клітини в моїй таблиці даних на основі групи. Налаштування зайняло багато часу, щоб розібратися і виглядає вичерпно в наведених нижче інструкціях, але насправді це не так вже й погано.
Все, виділене синім кольором, - це формула, тож ось, як я це зробив:
- У колонці B я використав формулу, щоб визначити, який ряд - це: = IF (A5 <> A $ 1, "Peers", "Group")
- Введено мої значення X і Y (стовпці C і D).
- Встановити розмір міхура (стовпець Е) для автоматичного регулювання на основі серії: = ЯКЩО (А5 = А 1,1000,250 дол. США)
- Використовуються стовпці F і G для обрізки десяткових знаків.
- У стовпцях H до L відображаються фактичні налаштування рядів даних на основі того, група є одноранговою чи групою, що цікавить.
- Значення X завжди залишатимуться однаковими, тому я пов’язав стовпець H з вихідним значенням осі X: = C5
- У стовпці I виводиться відповідне значення Y, якщо це група однолітків: = IF ($ B5 = $ I3, $ D5, NA ())
- У стовпці J встановлюється розмір міхура групи однолітків: = ЯКЩО (ISNA ($ I5), NA (), $ E5)
- У стовпці K виводиться відповідне значення Y, якщо це група інтересів: = IF ($ B5 = $ K $ 3, $ D5, NA ())
- У стовпці L встановлюється розмір міхура групи інтересів: = ЯКЩО (ISNA ($ K5), NA (), $ E5)
- У стовпці M встановлюються рівні розміри бульбашок і використовуються для створення остаточного діаграми, де всі групи та їх логотипи відображаються разом.
- Клітини O4 (= VLOOKUP (A1, логотипи! A: B, 2, FALSE)) і P4 (= IF (O4 = 1, "group1", IF (O4 = 2, "group2", IF (O4 = 3, ") group3 ", IF (O4 = 4," group4 "))))) ідентифікуйте та введіть правильний логотип, коли вибрана група інтересів.
Потім мені довелося налаштувати і зв’язати всі свої логотипи / зображення на окремій вкладці ("Логотипи"). Відео YouTube Oz du Soleil на тему "Вибір зображення на основі значення комірки" надзвичайно допомогло досягти цього. У мене недостатньо репутації, щоб розмістити пряме посилання.
Я створив і відформатував свої бульбашкові діаграми, після чого вибрав дані, необхідні для кожної серії, використовуючи стовпці H (вісь X), I / K (вісь Y) та J / L (вісь Z для розміру міхура).
Для моєї повної діаграми логотипу групи мені знадобилася лише одна серія, оскільки всі бульбашки були б однакового розміру. Я використовував стовпці C, D і M для осей X, Y і Z відповідно. Потім я застосував логотип кожної групи до відповідних бульбашок.
Сам код після налаштування виявився досить прямим:
Dim i As Long
Dim iLastRow As Long
Dim Cells As Range
'This section looks up each group name on the tab and cycles through the loop
Application.ScreenUpdating = False
With ActiveSheet
iLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 4 To iLastRow - 1 'Group names start in A5
'Selects, copies, and pastes the next group name in the list
Sheets("Groups").Select
ActiveSheet.Cells(i + 1, 1).Copy
Range("A1").Select
Selection.PasteSpecial paste:=xlPasteValues
'Selects, copies, and pastes the group logo onto the bubble
ActiveSheet.Shapes.Range(Array("Picture 7")).Select
Selection.CopyPicture xlScreen, xlPicture
ActiveSheet.ChartObjects("Chart 6").Activate
ActiveChart.FullSeriesCollection(2).Select
Selection.paste
'Variables needed for directory and file names
GroupName = Sheets("Groups").Range("A1")
yearmo = Sheets("Groups").Range("A2")
'Will create a new folder for the final images if it doesn't already exist
If Len(Dir("DirPath\" & yearmo, vbDirectory)) = 0 Then
MkDir "DirPath\" & yearmo
End If
'Set up image file names
Dim NewFileName As String
NewFileName = "\" & yearmo & " - " & GroupName & " - X_Y.jpg"
'Selects and saves the bubble chart as a JPG
ActiveChart.ChartArea.Select
ActiveChart.Export "DirPath\" & yearmo & NewFileName
Next i
End With
'After all individual bubble have been created, need to
'set up state file name to generate image with all logos for the state
Dim StateFileName As String
StateFileName = "\" & yearmo & " - STATE - X_Y.jpg"
'Selects and saves the state bubble chart as a JPG
ActiveSheet.ChartObjects("Chart 4").Activate
ActiveChart.Export "DirPath\" & yearmo & StateFileName
Я відмовився від використання міток у діаграмі, тому що намагатися змусити їх динамічно розміщуватися не здавалося вартим зусиль. Я замість цього пішов із створення пов'язаних текстових полів під діаграмою.
Сподіваємось, це допомагає іншим; це, безумовно, величезна економія часу від оновлень вручну.