知识点:
1.将对象复制到变量,例如单元格、工作表、工作簿赋值到变量
dim i as range\worksheet\workbook
set i = range("")\worksheets()\workbooks() '通过set将对象赋值到变量
2.dir函数
认识dir函数的作用:
(1).dir函数检验是否存在某个文件,例如
dim str as string
str =dir("文件全路径") ‘若全路径有符合的文件,则返回符合文件名,若无,则为空
(2).多个相符合的文件,dir如何返回值
str =dir("文件全路径") ‘str返回第一个符合的文件名
str=dir 'str返回第二个符合的文件名,若再次str=dir 则返回第三个符合的文件名,以此类推
3.vba中的find函数
dim rng as range
set rng=range("a:a").find("需查找单元格的值")
4.dir和find的通用模版
Sub dirDemo()
Dim str As String
Dim wb As Workbook
Dim i As Integer
str = Dir("d:\data\*.*")
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
----------------------------------------------------------------------------------------------------
Sub findDemo()
Dim rng As Range
Set rng = Range("d:d").Find(Range("l3"))
If Not rng Is Nothing Then
Range("m3") = rng.Offset(0, 3)
End If
End Sub
-------------------------------------------------------------------------------------------------------
将多个excel文件拷贝到一个excel文件中代码
Sub test()
Dim str As String
Dim wb As Workbook
str = Dir("/Users/lijianwei/Desktop/vba/VBA10/data/*.xls*") 'str获取第一个符合条件的dir
For i = 1 To 100
Set wb = Workbooks.Open("/Users/lijianwei/Desktop/vba/VBA10/data/" & str) '用set将文件赋值给wb变量
wb.Sheets(1).Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
str = Dir 'str获取第二个符合条件的dir,若有多个符合,则类似这样循环下去
wb.Close
If str = "" Then
Exit For '退出for循环
End If
next
end sub