如何获取所插入的图表所在的区域?
   例如:在excel.xlsx中插入了一个折线图,将这个折线图放在A6:F20区域内,我想根据vba函数获取这个
折线图所在的区域,与A6:F20对比,检测是不是操作正确,希望各位高手可以给出代码,小弟不胜感激,在此
谢过了。帮帮小弟~~很急~~

解决方案 »

  1.   

    分4个步骤:1. 用SHAPE的TOPLEFTCELL属性获得左上角的单元格。
    2. 在SHAPE的右下角创建一个新的图形。
    3. 再次用SHAPE的TOPLEFTCELL属性获得新建图形的左上角单元格,也即原图形的右下角单元格。
    4. 删除新建的图形。假设在名为test的SHEET中存在一个名为"图表 2"的图表,现在要获取它所覆盖的单元格区域:
    Sub test()Dim s1 As Shape
    Dim s2 As Shape
    Dim w As Worksheet
    Dim tl As Range
    Dim br As RangeSet w = ThisWorkbook.Sheets("test")
    Set s1 = w.Shapes("图表 2")
    Set s2 = w.Shapes.AddShape(msoShapeRectangle, s1.Left + s1.Width, s1.Top + s1.Height, 20, 20)Set br = s2.TopLeftCell
    Set tl = s1.TopLeftCells2.DeleteMsgBox "图表区域为:" & tl.Address & ":" & br.AddressEnd Sub