收集一些自己日常工作中常用的vba代码,持续更新中.....
获取“信息”表C列有效行数,代码如下:
Dim i As Integer
n = Sheets("信息").Range("C65536").End(xlUp).Row
打印当前页面
'打印活动表格
ActiveSheet.PrintOut
'打印指定表格
Sheets("数据").PrintOut
EXCEL VBA工程让程序休眠1秒钟
'首先在最上部,定义
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'在程序中使用,1000 为1秒钟:
Sleep 1000
判断指定路径文件是否存在
'定义函数
Function IsFileExists(ByVal strFileName As String) As Boolean
If Dir(strFileName, 16) <> Empty Then
IsFileExists = True
Else
IsFileExists = False
End If
End Function
'使用
If IsFileExists("ThisWorkbook.Path & "\image\123.jpg") = True Then
' 文件存在时的处理
MsgBox "文件存在!"
Else
' 文件不存在时的处理
MsgBox "文件不存在!"
End If
表格取消保护表格和增加保护
ActiveSheet.Unprotect '取消保护
ActiveSheet.Protect '保护工作表
打开指定文件夹所有表格
Function run()
Dim myPath$, myFile$, AK As Workbook
Application.ScreenUpdating = False '冻结屏幕,以防屏幕抖动
myPath = ThisWorkbook.Path & "\image\人员证件\" '存放工作簿的文件夹
myFile = Dir(myPath & "*.xls") '依次找寻指定路径中的*.xls文件
Do While myFile <> "" '当指定路径中有文件时进行循环
If myFile <> ThisWorkbook.Name Then
Set AK = Workbooks.Open(myPath & myFile) '打开符合要求的文件
If IsEmpty(Cells(1, 1)) Then
Rows("1:3").Select
Selection.Delete Shift:=xlUp
End If
End If
AK.Close SaveChanges:=True '参数是否保存,为缶时需要手动关闭文件
myFile = Dir '找寻下一个*.xls文件
Loop
Application.ScreenUpdating = True '解除冻结屏幕
End Function