使用Excle自带的工具栏图标填充
填充效果图如下:
代码如下:
Sub 自动填充序号() Dim A As CommandBar '代表容器应用程序中的一个命令栏 Dim B As CommandBarControl '代表一个命令栏控件 Dim i As Long Cells.Clear '清除所有单元格 For Each myshape In Worksheets(1).Shapes If myshape.Name <> "myButton" Then myshape.Delete '删除名字不为myButton的图形对象 End If Next On Error Resume Next Application.CommandBar("FaceID").Delete On Error GoTo 0 '创建以个自定义的工具栏FaceID Set A = Application.CommandBars.Add(Name:="FaceID") Set B = A.Controls.Add(Type:=1) For i = 1 To 30 B.FaceId = i B.CopyFace '复制命令按钮的Icon Cells(1, 1).Select With Worksheets(1) .Paste '将复制的命令粘贴到Icon .Shapes(.Shapes.Count).Top = .Cells(i, 2).Top .Shapes(.Shapes.Count).Left = .Cells(i, 2).Left .Cells(i, 1).Value = i End With Next i A.Delete '删除临时的自定义工具栏FaceID Set B = Nothing End Sub
注意事项:在本代码中出现的“myButton”指的是Excle中的按钮,修改按钮名称如下图: