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

2024-12-22 20:34:37
推荐回答(1个)
回答1:

你既然想选中图片,再做Select或Activate 单元格.图片的选中会转移到单元格上的.你可以选中图片 然后找到相应的省的名称的单元格,把该单元格用颜色标示 同样能达到你的目的

假设图片的名称是省份名称,工作表sheet1的A列里保存的是省份的名称
创建两个宏:
宏1:目的是把所有的图片都和宏2绑定
Sub 绑定()
Dim shap As Shape
For Each shap In Sheet1.Shapes
shap.OnAction = "s_Click"
Next shap
End Sub

宏2: 实现你的要求
Sub s_Click()
a = Application.Caller
Sheet1.Shapes(a).Select
Sheet1.Range("A3:A10").Interior.ColorIndex = xlNone
Set rng = Sheet1.Range("A3:A10").Find(a)
If Not rng Is Nothing Then rng.Interior.ColorIndex = 3
End Sub