1.有这样一个工作表,里面a列有很多的部门,想把各个部门的名字另起一个sheet,如何去实现呢
Sub test()
Dim sht As Worksheet
Dim i As Integer
For Each sht In Worksheets
If sht.Name <> “部门” Then
i = i + 1
Range(“a” & i) = sht.Name
End If
Next
End Sub
这里用到了
Dim sht As Worksheet
首先把工作表定义为sht
这样可以用for each来代替for i
因为for i要指定数字
for each是循环所有
然后判断表名,并且把a列对应的行的值作为sht的名字
2.想要删除除了表名是"决不能删"其他的所有工作表
Sub test()
Dim sht As Worksheet
Application.DisplayAlerts = False
For Each sht In Sheets
If sht.Name <> "绝不能删" Then
sht.Delete
End If
Next
Application.DisplayAlerts = True
End Sub
删除工作表时会提示,是否删除,运用下面的代码可以去掉提示
其中Application.DisplayAlerts = False
和Application.DisplayAlerts = True
是成对出现
3.将表格拆分成多个单独的文件,放在固定的位置
Sub test()
Dim sht As Worksheet
For Each sht In Sheets
sht.Copy
ActiveWorkbook.SaveAs Filename:=“d:\data” & sht.Name & “.xlsx”
ActiveWorkbook.Close
Next
End Sub
也是首先遍历所有的工作表,然后用saveas filename来存储
最后要记得关闭 活动的工作簿