excel利用宏自动复制来自其他excel文件的数据

'这个宏的作用是:把当前文件夹下每一个excel文件的每一行(共8行)复制到总表的每一个sheet工作表中去,即把一个文件里的那1张表的8行复制转换成另一个文件的8张表里的8行,主要用于汇总工作

Public toRow As Integer
Public fromRow As Integer
Sub insert()   '宏的名字
   Dim myPath$, myFile$, AK As Workbook, aRow%, tRow%, i As Integer    '定义变量
   toRow = 5     '目标文件粘贴的起始行位置
   Application.ScreenUpdating = False        '冻结屏幕,以防屏幕抖动
   myPath = ThisWorkbook.Path          '把文件路径定义给变量
   myFile = Dir(myPath & "\*.xls")           '依次找寻指定路径中的*.xls文件
   Do While myFile <> ""                     '当指定路径中有文件时进行循环
      toRow = toRow + 1        '每一个文件对应目标文件的新的一行,顺序往下粘贴
      If myFile <> ThisWorkbook.Name Then     '扫描除了当前目标文件外的每一个.xls文件
          Set AK = Workbooks.Open(myPath & "\" & myFile)        '打开符合要求的文件
          tempRow = 5    '源文件的复制起始行位置
          For i = 1 To 8 '每一个源总共8行
             fromRow = tempRow + i    '源文件逐行往下复制

             AK.Sheets(1).Range("c" & fromRow & ":n" & fromRow).Copy ThisWorkbook.Sheets(i).Range("c" & toRow & ":n" & toRow)

              '执行复制操作,&符号是字符拼接,第一次执行的时候是从C6:N6复制到Sheets1的C6:N6

          Next
          Workbooks(myFile).Close False               '关闭源工作簿,并不作修改
      End If
      myFile = Dir                                   '找寻下一个*.xls文件
   Loop
   Application.ScreenUpdating = True                 '冻结屏幕,此类语句一般成对使用
   MsgBox "导入完成"      '最后弹窗提示

End Sub


下载链接:http://download.csdn.net/detail/u011322206/9529896 ,可以有excel可以操作演示查看结果,也有代码

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值