通过宏添加形状并设置其格式(Microsoft Excel)
罗恩经常使用形状(实际上是一个椭圆形)来突出显示工作表中的内容。他添加了形状并为其设置了大小,然后需要将形状颜色更改为红色并删除所有填充颜色,以免掩盖他实际要突出显示的内容。他经常执行这些步骤,并且毫无疑问可以使用宏来加快这一步,但是他不确定该如何去做。
在查看基于宏的解决方案之前,您可能需要考虑一些不需要宏的解决方案。例如,如果创建椭圆(按需要设置格式)然后右键单击它,则可以将其设置为默认形状。将来可以加快形状添加到工作簿中的速度。
如果您有多个形状,每个形状都有不同的大小和颜色,则可能需要将这些形状简单地复制到不同的工作簿中。该工作簿可能是这些形状的“持有人”,因此您可以根据需要将它们复制回其他工作簿。这是建立自己的标准形状图库的好方法,这些图库可以使用多年。
如果您认为宏是最好的处理方式,则使用一个宏添加椭圆形相对容易。这是一个非常简单的示例:
Sub Custom_Oval1() ActiveSheet.Shapes.AddShape(msoShapeOval, 150, 150, _ 120, 60).Select Selection.ShapeRange.Fill.Visible = msoFalse With Selection.ShapeRange.Line .DashStyle = msoLineSolid .Weight = 3 .Visible = msoTrue .ForeColor.RGB = RGB(255, 0, 0) .Transparency = 0 End With End Sub
这将在工作表中的单个位置插入具有所需颜色,填充和透明度的标准椭圆形。完成后,仍将选择形状,然后可以将椭圆形拖到所需位置,并进行必要的尺寸调整。
如果您希望椭圆形更靠近您想要的位置,则可以使用一种变体,它查看工作表中的活动单元格,并将椭圆形放置在该单元格周围,大小与单元格的高度和宽度相同:
Sub Custom_Oval2() Dim lLeft As Long Dim lTop As Long Dim lWidth As Long Dim lHeight As Long lLeft = ActiveCell.Left - 5 lWidth = ActiveCell.Width + 5 lTop = ActiveCell.Top lHeight = ActiveCell.Height + 5 ActiveSheet.Shapes.AddShape(msoShapeOval, lLeft, _ lTop, lWidth, lHeight).Select Selection.ShapeRange.Fill.Visible = msoFalse With Selection.ShapeRange.Line .DashStyle = msoLineSolid .Weight = 3 .Visible = msoTrue .ForeColor.RGB = RGB(255, 0, 0) .Transparency = 0 End With End Sub
请注意,宏的此变体根据ActiveCell对象的位置来确定形状的位置。如果需要,您可以将所有出现的ActiveCell更改为Selection,这将允许椭圆的大小进行调整以包围您的选择,而不仅仅是活动单元。还要注意,应稍微调整left,width和height的值,以使椭圆形更好地适合。您可能需要使用不同的调整值来获得所需的外观。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本提示(4631)适用于Microsoft Excel 2007、2010、2013和2016。