1. 将对象赋值到变量
借助Set
Set sht = Sheets.add
2.Dir函数
2.1 利用Dir判断文件是否存在
Sub t()
Range("a1") = Dir("文件名的绝对路径")
End Sub
若存在该文件,则a1单元格会返回内容,否则为空
2.2 Dir函数支持通配符,可帮助判断文件后缀名不相同的情况
Dir("d\data\" & range("a" & i) & ".xls*")
2.3 Dir有三种返回情况
- Dir函数中有多个返回值时,第一次返回第一个
- 同理接下来每次都返回下一个
- 返回值返回完后再Dir返回空
- 得到空后在用Dir则报错
2.4 引出通用代码,获取一个文件夹下的所有文件名称
Sub t()
Dim str As String
str = Dir("d:\data\*.xls*")
For i = 1 To 100
Range("a1" & i) = str
str = Dir
'当最后一次的dir返回值为空时,退出'
If str = "" Then
Exit For
End If
Next
End Sub
可利用 Range("a1" & i) = str 进行扩展改写
如打开所有文件,Workbooks.open("d:\data" & str)
2.5 通用代码2,一次性打开所有文件,操作完毕后再一次性关闭
Sub t()
Dim str As String
Dim wb As Workbook
str = Dir("d:\data\*.xls*")
For i = 1 To 100
Set wb = Workbooks.Open("d:\data\" & str)
wb.Close
str = Dir
If str = "" Then
Exit For
End If
Next
End Sub
3.Find函数 -- 通用查找代码
![](https://img.haomeiwen.com/i11705369/9b7306a43a2bc39f.png)
Sub chazhao()
Dim rng As Range
'find找不到值rng也不会出错,会为空,可以以此做个判断'
Set rng = Range("d:d").Find(Range("l3"))
'rng 不是 空'
If Not rng Is Nothing Then
'分数在名字的右边3列'
Range("m3") = rng.Offset(0, 3)
End If
End Sub
网友评论