excel 2007 图表问题vba

woshily 2008-08-27 03:28:51
如何获取所插入的图表所在的区域?
例如:在excel.xlsx中插入了一个折线图,将这个折线图放在A6:F20区域内,我想根据vba函数获取这个
折线图所在的区域,与A6:F20对比,检测是不是操作正确,希望各位高手可以给出代码,小弟不胜感激,在此
谢过了。帮帮小弟~~很急~~
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshily 2008-09-01
  • 打赏
  • 举报
回复
非常感谢!!
bgyyyyy 2008-08-29
  • 打赏
  • 举报
回复
分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 Range

Set 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.TopLeftCell

s2.Delete

MsgBox "图表区域为:" & tl.Address & ":" & br.Address

End Sub

woshily 2008-08-28
  • 打赏
  • 举报
回复
怎么没有人顶,自己顶一下

2,463

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧