如果我选择一个形状,例如图表或文本框,我该如何在VBA中重命名它?我在PowerPoint中有一个很好的小子和形式:
Sub ShapeName()
If Not ActiveWindow.Selection Is Nothing Then
If ActiveWindow.Selection.Type = ppSelectionShapes Then
NameForm.NameBox.Text = ActiveWindow.Selection.ShapeRange.Name
NameForm.Show
If Not NameForm.bCancel Then
ActiveWindow.Selection.ShapeRange.Name = NameForm.NameBox.Text
End If
End If
End If
End Sub
如何在Excel中实现相同功能? ActiveWindow.Selection对象非常不同。我无法弄清楚如何从选择导航到选定的形状。如果选择的形状是图表对象,那么也会选择源单元格,我想忽略它们,只需重命名形状。
答案 0 :(得分:5)
这是一个小例子:
Sub ARoseByAnyOtherName()
ActiveSheet.Shapes(1).Select
Selection.Name = "MyRedRose"
End Sub
修改#1:强>
如果我们知道选定的对象是图表,请使用:
Sub ARoseByAnyOtherName()
ActiveChart.Parent.Name = "MyRedRose"
End Sub