excel 宏 获取当前图形位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel 宏 获取当前图形位置相关的知识,希望对你有一定的参考价值。
对某一单元格内的图形对象指定宏,如何在编写代码时获得这个对象所在单元格的坐标?
首先你要知道这个图片的内置名称
你可以先选中这个图片然后 运行以下代码获得:
Sub SAddress()a = Selection.Name
msgbox "所选目标的名称是:" & a
End Sub
把名称记录下来,然后用以下代码来获得图片左上角和右下角所在单元格,即可获得图片所在的区域
Sub test()Dim leftAdd As String, rightAdd
leftAdd = Shapes("Picture 2").TopLeftCell.Address(0, 0)
rightAdd = Shapes("Picture 2").BottomRightCell.Address(0, 0)
MsgBox "图片名称为:Picture 2所在的单元格区域是:" & leftAdd & ";" & rightAdd
End Sub追问
我明白你的意思 我把我现在需要做的跟你说一下 看看你会不会哈
我要在某个单元格插入一个自选图形,每次点击自选图形都会让它左侧的单元格值+1
所以我想要知道怎么样用同一个代码,使得任意自选图形在指定这个宏的时候,都可以实现这个功能。
我想到要用找出图形位置的代码,但是你的方法还是需要先选中才行。
有别的办法么?
Sub test()
Dim leftAdd As String, rightAdd
a = Application.Caller
leftAdd = Shapes(a).TopLeftCell.Address(0, 0)
rightAdd = Shapes(a).BottomRightCell.Address(0, 0)
MsgBox "图片名称为:Picture 2所在的单元格区域是:" & leftAdd & ";" & rightAdd
End Sub
因此可以用 Shape 对象的 TopLeftCell 和 BottomRightCell 返回图形对象所在的左上角单元格和右下角单元格,也就得到了相应的单元格引用位置:
图形左上角单元格:Activesheet.Shapes(图形对象序号).TopLeftCell.Address
图形右下角单元格:Activesheet.Shapes(图形对象序号).BottomRightCell.Address追问
我明白你的意思 我把我现在需要做的跟你说一下 看看你会不会哈
我要在某个单元格插入一个自选图形,每次点击自选图形都会让它左侧的单元格值+1
所以我想要知道怎么样用同一个代码,使得任意自选图形在指定这个宏的时候,都可以实现这个功能。
我想到要用找出图形位置的代码,但是你的方法还是需要先选中才行。
有别的办法么?
有点麻烦,暂时想到的是这样:为每个形状指定一个Click事件过程,将自己的形状名称传递给一个公共过程,这个公共过程根据形状名称,对其TopLeftCell进行+1操作。代码如下:
Sub 矩形1_Click()
shapeclicked ("Rectangle 1")
End Sub
Sub 矩形2_Click()
shapeclicked ("Rectangle 2")
End Sub
Sub shapeclicked(Shape_Name)
Dim c As Range
Set c = ActiveSheet.Shapes(Shape_Name).TopLeftCell
c = c + 1
End Sub
'
' Macro1 Macro
' 宏由 zenith 录制,时间: 2008-4-3
'
'
With Selection
.Placement = xlMoveAndSize
.PrintObject = True
End With
End Sub
用2003版的Excel使用“宏”打开NMON软件生产的.nmon文件
用2003版的Excel使用“宏”打开NMON软件生产的.nmon文件
nmon analyser——生成 AIX 性能报告的免费工具,可从 NMON 的输出中生成大量的报告图形。nmon_analyser 工具以 NMON 性能工具生成的文件作为输入,然后将它们转换为 Microsoft Excel 电子表格,并自动地生成相应的图形。
在用nmon_analyser 工具中的“nmon analyser v334.xls”打开.nmon文件时,2003版的Excel跳出个对话框,提示“由于安全级别被设为高,并且没有附加数字签字的可信任证书,因此这些宏被禁用。若要运行这些宏,请将安全级别设置为更低级别,或请求作者使用证书颁发机构锁颁发的证书对宏进行数字签名。”
然后打开2003版的Excel中的“工具”——》“宏”——》“安全行”中的“安全级”选择“低”,而且“可靠发行商”中选择“信任所有安全的加载项和模板”和选择“信任对应XXX的访问”。然后关闭Execl,然后再重新打开Execl就可以使用“宏”了。
注:“宏”:指一系列EXCEL能够执行的VBA语句。当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。
以上是关于excel 宏 获取当前图形位置的主要内容,如果未能解决你的问题,请参考以下文章
通过python中xlrd读取excel表格(xlwt写入excel),xlsxwriter写入excel表格并绘制图形