利用公式提取全部工作表名称

在插入/名称/定义中定义一个名称——工作表,公式为:=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),)&T(NOW()),这时就可以利用“=工作表”来提取当前工作表的名称。

在插入/名称/定义中再定义一个名称——工作表名称,公式为:=LOOKUP(ROW(INDIRECT("1:"&COLUMNS(工作表))),MATCH(工作表,工作表,),工作表),这时就可以利用数组公式“=工作表名称”来提取整个工作簿中工作表的名称集合。

具体可以看一下附件:

公式提取全部工作表名称

删除excel中重复的形状

用宏删除:

Sub delAllShapes1() '删除当前工作簿中所有工作表中的Shapes
Set ash = ActiveSheet
Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Sheets
sh.Activate
sh.Shapes.SelectAll: Selection.Delete
Next
ash.Activate
Application.ScreenUpdating = True
End Sub

不使用激活工作表,也可以使用硬循环:
Sub delAllShapes2() '删除当前工作簿中所有工作表中的Shapes
For Each sh In ThisWorkbook.Sheets '遍历当前工作簿中所有工作表
For Each sp In sh.Shapes '遍历当前工作表中所有Shape
sp.Delete '逐个删除
Next
Next
End Sub