Вы можете определить, какой график находится ближе всего к целевому местоположению, так что:
Dim ch As ChartObject, chr As Long, chc As Long, r As Long, c As Long, chin As Long, locr As Long, locc As Long
r = 24 'row 24, target
c = 11 'column k, target
For Each ch In ActiveSheet.ChartObjects
chr = ch.TopLeftCell.Row
chc = ch.TopLeftCell.Column
If Sqr((r - chr) ^ 2 + (c - chc) ^ 2) < Sqr((r - locr) ^ 2 + (c - locc) ^ 2) Or locr = 0 Then
locr = chr
locc = chc
chin = ch.Index
End If
Next ch
Debug.Print chin
Вы можете использовать индекс диаграммы (подбородок) для копирования так:
activesheets.chartobjects(chin).activate
activechart.parent.copy