CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  VBA

★★бя⊙⊙怎样用VBA循环一个目录下的所有工作簿并且操作这些工作簿的指定工作表呢?

楼主lyr311(老刘:别总在CSDN上逛!!!)2005-01-17 21:13:00 在 VB / VBA 提问

我现在一个工作目录下有100来个工作簿,要对这些工作簿的第一个工作表进行操作,但是我不知道该怎样循环工作簿,比如:  
  工作目录下有  
  B1.xls  
  B2.xls  
  B3.xls  
  ..................  
  现在把每一个工作簿的第一个表的第5行第7列的单元格数据写入一个新工作簿New.xls的表"new"中,该怎么做呢,我只是举了一个简单例子以说明问题,请高手指教,万分感谢!!! 问题点数:100、回复次数:6Top

1 楼lyr311(老刘:别总在CSDN上逛!!!)回复于 2005-01-21 11:00:54 得分 0

这个   问题   这么   难么?怎么了?高手请仗义出手啊!!??Top

2 楼snowhillxj(snow)回复于 2005-01-21 11:31:27 得分 50

提供给你一个思路吧,你可以用FILESYSTEMOBJECT中的枚举每一个文件,是EXCEL的就可以做你需要做的处理。至于每一个工作簿的第一个表,可以用set   mysheet   as   worksheets(1)来制定。其余的类似。工作表中的表格可以用mysheet.cells(5,7)来代表。Top

3 楼snowhillxj(snow)回复于 2005-01-21 11:32:43 得分 0

错误,应该是set   mysheet=worksheets(1),手误。Top

4 楼linjimu(沐)回复于 2005-01-22 09:36:04 得分 50

'要先引用     Excel   library  
   
  Dim   xlApp   As   Excel.Application  
  Dim   xlBook   As   Excel.Workbook  
  Dim   xlSheet   As   Excel.Worksheet  
  Dim   TmpStr   As   String  
  dim   NewXlApp   as   Excel.Application         '新工作簿New.xls  
  dim   NewXlBook   as   Excel.Workbook  
  dim   NewSheet   as   Excel.Worksheet  
   
  Set   NewXlApp   =   New   Excel.Application          
  Set   NewXlBook   =   NewXlApp.Workbooks(1)  
  Set   NewSheet   =   NewXlBook.Worksheets(1)  
  NewSheet.Activate  
   
  For   i   =1   to   XXX   '目录下的工作簿个数  
          Set   xlApp   =   New   Excel.Application  
  Set   xlBook   =   Nothing  
  Set   xlSheet   =   Nothing  
  xlApp.Workbooks.open   "B"   &   i   &   ".xls"     '打开   B1.xls   ,B2.xls   ...工作簿  
      Set   xlBook   =   xlApp.Workbooks(1) '一个工作簿  
      Set   xlSheet   =   xlBook.Worksheets(1) '第一个表  
      xlSheet.Activate  
  NewSheet.Cells(i,   1)="B"   &   i '新工作簿New.xls的第一列入   B1   B2            
  NewSheet.Cells(i,   2)=xlSheet.Cells(5,   7)   '打开B1.xls   B2.xls   ...工作簿第5行第7列的单元格数据写入一个新工作簿New.xls的表的第二列中  
  xlApp.Quit  
  Set   xlSheet   =   Nothing  
  Set   xlBook   =   Nothing  
  Set   xlApp   =   Nothing  
  Next  
   
  NewSheet.Name   ="New"   '表"new"中  
  NewXlBook.SaveAs   "C:\New.xls" '   C:盘中的工作簿New.xls  
  NewXlApp.Quit  
  Set   NewSheet   =   Nothing  
  Set   NewXlBook   =   Nothing  
  Set   NewXlApp   =   Nothing  
  Top

5 楼xinliangyu(yxl)回复于 2005-01-22 10:18:22 得分 0

是否可以使用公式引用其他工作薄的数据呢?Top

6 楼lyr311(老刘:别总在CSDN上逛!!!)回复于 2005-01-23 16:50:07 得分 0

请问,怎么用FILESYSTEMOBJECT枚举呢,有没有一个例子让俺看看啊?  
  另外,楼上的兄台,我的B1,B2,等等只是作为一个例子说明,实际文件名没有这么有规律的,所以我想通过枚举文件夹下的每一个文件名来达到我的目的,不知道有没有办法呢?  
  多谢大家仗义相助哈!!  
  继续等待帮助中!!Top

相关问题

  • 各位专家:怎样在打开指定工作簿中的指定工作表(excel)
  • 如何用VBA控制产生的excel工作簿的sheet个数?
  • 如何用VBA得到Excel一个工作簿当前所用的行数??
  • 用Delphi怎样获取Excel文件里的某个工作簿中指定列的标题————Excel中工作区上面第一行(既:A、B、C、D、……IU、IV))???
  • 活动工作簿问题(Actived Book)!!!!!!!!!!!!!!!!!!
  • 共享和保存Excel97-Excel2003 & 5.0/95工作簿
  • TQuery或TTable如何访问Execl工作簿
  • 怎样在Excel中添加一个工作簿??谢谢
  • 急!急!急!如何众excel工作簿中提取数据
  • excel如何引用一个其它工作簿中的文件?

关键词

  • excel
  • 工作簿
  • 表
  • newsheet
  • xlsheet
  • newxlbook
  • newxlapp
  • nothingset
  • xlbook
  • xls

得分解答快速导航

  • 帖主:lyr311
  • snowhillxj
  • linjimu

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo