设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2495|回复: 2
打印 上一主题 下一主题

[基础应用] [求助]如何批量向多个excel文件中添加内容

[复制链接]
跳转到指定楼层
1#
发表于 2007-6-21 22:22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
附件中是一个事例,里面共有四个文件,其中"Spring","Summer"和"autumn"是源文件,"汇总"是目标文件


问题:在"汇总"这个文件中已经能够实现将上述三个源文件同时合并到一个excel里,那么能否在汇总的同时分别向目标文件中添加一列(在Website列边上),该列内容为对应的文件的文件名?


即最后的绘总文件为下面的格式:





























Exhibitor


Address





Email


Web Site


aututmn





Consensus Systems Technologies


17 Miller AvePO Box 517





rsj@consystec.com





aututmn





Core Tec Communications, LLC


8611 Weston Rd.Unit 16





rocco.magnotta@coretec.com


www.gocoretec.com


aututmn





Cornet Technology, Inc.


6800 Versar CenterSuite 215





rdagostino@cornet.com


www.cornet.com/vc


aututmn





Daktronics, Inc.


331 32nd AvePO Box 5128





mwatkin@daktronics.com


www.daktronics.com


aututmn





Exhibitor


Address





Email


Web Site


spring





3M Intelligent Transportation Systems


3M CenterBuilding 225-5S-08





mllozier@mmm.com


www.3M.com/tss


spring





Access Technology Group</T

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-6-22 19:13:00 | 只看该作者
OFFICE不是万能的

没有OFFICE是万万不能的



[em01]
3#
 楼主| 发表于 2007-6-23 00:41:00 | 只看该作者
呵呵,谢谢关注,不过已经自己解决了,下面是源码,其中有一部分是论坛其他高手编的,有一部分是自己加进去的,算是回馈给个位朋友吧

Private Sub CommandButton1_Click()
    Dim Twb As Workbook, Wb As Workbook
    Dim rng As Range, rng2 As Range
    Dim s
    Dim R As Double, C As Double
    Dim T As String
     
   
    Application.ScreenUpdating = False
    Set Twb = ThisWorkbook
   
    Cells.ClearContents '清除当前表的内容
    With Application.FileSearch '查找
        .LookIn = Twb.Path '范围为此目录下
        .Filename = "*.xls" '查找所有的xls文件
        .Execute msoSortByFileName '执行查找过程,并且将查询结果按文件名排序
        
        For Each s In .FoundFiles '在每一个查找到的结果里
            If s <> Twb.FullName Then '假如它不是当前工作簿
                Set Wb = Workbooks.Open(s) '打开它
                Set rng = Range("a65536").End(xlUp).Offset(1, 0) '设置变量rng为最后一行的下一行
                R = Wb.Sheets(1).UsedRange.End(xlDown).Row '当前工作簿已用行数
                C = Wb.Sheets(1).UsedRange.End(xlToRight).Column + 1 '当前工作簿已用行数+1
                T = "*-FileNme-*" '将字符常量赋给T
                Wb.Sheets(1).Cells(1, C).Value = T '将当前工作部最后一列右边第一列第一个单元格赋值T
                Wb.Sheets(1).Range(Wb.Sheets(1).Cells(2, C), Wb.Sheets(1).Cells(R, C)).Value = left(Wb.Name,len(wb.name)-4) '为每条信息标注其所在的文件文件名
                Wb.Sheets(1).UsedRange.Copy rng '复制新打开的工作簿的第一个工作表的已用区域到rng
                Wb.Close False ' 不保存就关闭这个打开的工作簿
            End If
        Next
    End With
   
    Application.ScreenUpdating = True
End Sub



[此贴子已经被作者于2007-6-26 15:35:52编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-29 14:57 , Processed in 0.100437 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表