VBA中如何判断选中shape的名称

VBA中如何判断选中shape的名称,第1张

你既然想选中,再做Select或Activate 单元格的选中会转移到单元格上的你可以选中 然后找到相应的省的名称的单元格,把该单元格用颜色标示 同样能达到你的目的
假设的名称是省份名称,工作表sheet1的A列里保存的是省份的名称
创建两个宏:
宏1:目的是把所有的都和宏2绑定
Sub 绑定()
Dim shap As Shape
For Each shap In Sheet1Shapes
shapOnAction = "s_Click"
Next shap
End Sub
宏2: 实现你的要求
Sub s_Click()
a = ApplicationCaller
Sheet1Shapes(a)Select
Sheet1Range("A3:A10")InteriorColorIndex = xlNone
Set rng = Sheet1Range("A3:A10")Find(a)
If Not rng Is Nothing Then rngInteriorColorIndex = 3
End Sub

Sub 插入一矩形()
ActiveSheetShapesAddShape(msoShapeRectangle, 0, 0, 1000, 1000)Select
End Sub
其他所有的控件均可插入,只要你找到其名称,即msoShapeRectangle,直接搜索帮助即可。
还有更简单的方式就是录制。

VBA中,Shape 对象代表了工作表中的图形对象
因此可以用 Shape 对象的 TopLeftCell 和 BottomRightCell 返回图形对象所在的左上角单元格和右下角单元格,也就得到了相应的单元格引用位置:
图形左上角单元格:ActivesheetShapes(图形对象序号)TopLeftCellAddress
图形右下角单元格:ActivesheetShapes(图形对象序号)BottomRightCellAddress

我试了可以啊,一个
ShFillForeColorRGB = RGB(255, 255, 0)
MsgBox ShFillForeColorRGB获得的值是65535


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12631830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存