Eu descobri isso. Tudo começou com a necessidade de configurar meus dados com duas séries definidas, em que uma série é o grupo de interesse e a segunda é os grupos de peers e, em seguida, preenche condicionalmente células na minha tabela de dados com base no grupo. O set-up levou muito tempo para descobrir e parece exaustivo nas instruções abaixo, mas na verdade não é tão ruim assim.
Tudodestacadoemazuléumafórmula,entãoaquiestácomoeufiz:
- NacolunaB,useiumafórmulaparaidentificarquaissériessão:=IF(A5<>A$1,"Pares", "Grupo")
- Insirai meus valores X e Y (colunas C e D).
- Defina o tamanho da minha bolha (coluna E) para ajustar automaticamente com base na série: = SE (A5 = A $ 1,1000,250)
- Utilizou as colunas F e G para aparar casas decimais.
- As colunas H a L refletem a configuração real da série de dados com base no fato de o grupo ser um par ou o grupo de interesse.
- Os Xs sempre permanecerão os mesmos, então eu vinculei a coluna H ao valor do eixo X original: = C5
- Coluna Eu puxo o valor Y apropriado se for um grupo de pares: = SE ($ B5 = $ I3, $ D5, NA ())
- A coluna J define o tamanho da bolha do grupo de pares: = SE (ISNA ($ I5), NA (), $ E5)
- A coluna K puxa o valor Y apropriado se for o grupo de interesse: = IF ($ B5 = $ K $ 3, $ D5, NA ())
- A coluna L define o tamanho do grupo de interesse: = SE (ISNA ($ K5), NA (), $ E5)
- A coluna M define todos os tamanhos de bolha como iguais e é usada para a criação do gráfico final, em que todos os grupos e seus logotipos são exibidos juntos.
- Células O4 (= VLOOKUP (A1, Logos! A: B, 2, FALSE)) e P4 (= IF (O4 = 1, "grupo1", IF (O4 = 2, "grupo2", IF (O4 = 3, "group3", IF (O4 = 4, "group4"))))) identifique e puxe o logotipo correto quando o grupo de interesse for selecionado.
Eu então tive que configurar e vincular todos os meus logotipos / imagens em uma guia separada ("Logos"). O vídeo do YouTube de Oz du Soleil sobre "Selecione uma imagem baseada em um valor de célula" foi imensamente útil para fazer isso. Eu não tenho reputação suficiente para postar o link direto.
Eu criei e formatei meus gráficos de bolha e selecionei os dados conforme necessário para cada série usando as colunas H (eixo X), I / K (eixo Y) e J / L (eixo Z para tamanho de bolha).
Para o gráfico do meu logotipo completo do grupo, eu precisava de apenas uma série porque todas as bolhas seriam do mesmo tamanho. Eu usei as colunas C, D e M para os eixos X, Y e Z, respectivamente. Em seguida, apliquei o logo de cada grupo às suas respectivas bolhas.
O próprio código acabou sendo bem direto após a configuração:
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
Optei contra o uso de rótulos no gráfico porque tentar posicioná-los dinamicamente não parecia valer o esforço. Em vez disso, fui criar caixas de texto vinculadas abaixo do gráfico.
Espero que isso seja de alguma ajuda para os outros; é certamente uma grande economia de tempo de atualizações manuais.