vba 将多个excel文件拷贝到一个excel文件中

知识点:

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

你可能感兴趣的:(vba 将多个excel文件拷贝到一个excel文件中)