2016-07-22 19 views

答えて

0

あなたは、与えられた範囲の間にチャートを見つけることTopLeftCellBottomRightCellを使用することができます。

Sub testChart() 
Dim oChart As Chart 

'/ Selecet the chart , if found in Range D4:F10 
Set oChart = findChart(Sheet1.Range("D4:F10")) 
If Not oChart Is Nothing Then 
    oChart.Parent.Select 
Else 
    MsgBox "No chart found." 
End If 

End Sub 

Function findChart(ByVal rngChart As Range) As Chart 

    Dim oChart  As Chart 
    Dim oChartObj As ChartObject 
    Dim wksChart As Worksheet 
    Dim rngCArea As Range 

    Set wksChart = rngChart.Parent 

    For Each oChartObj In wksChart.ChartObjects 
     Set rngCArea = Intersect(wksChart.Range(rngChart.Address), wksChart.Range(oChartObj.TopLeftCell, oChartObj.BottomRightCell)) 
     If Not rngCArea Is Nothing Then 
      Set oChart = oChartObj.Chart 
     End If 
    Next 

    Set findChart = oChart 

End Function 
+0

このソリューションは答えとして、それをマークし動作するかどうか:http://stackoverflow.com/help/someone-answers、http://meta.stackexchange.com/questions/173399/how-to-upvote-スタックオーバーフロー – cyboashu

関連する問題