首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

用宏怎么打开文件夹中所有文件并实现其中的数据转换

2012-02-11 
用宏如何打开文件夹中所有文件并实现其中的数据转换?我有一堆Excel文件,需要作数据转变.所谓的转变其实就

用宏如何打开文件夹中所有文件并实现其中的数据转换?
我有一堆Excel文件,需要作数据转变.所谓的转变其实就是把各列的位置调换一下.但由于涉及到很多同格式但不同名的文件(上千个),我想做一个宏,来实现这些所有文件的自动打开并转换工作.不知能否实现?

有代码更好.

[解决办法]
你说的好像很复杂。但还是有办法做的。
先用FSO,把上千个xls文件读入到一个excel表中。
在用循环对每个excel文件进行你要的转换。
给你个例子:
现在把每一个工作簿的第一个表的第5行第7列的单元格数据写入一个新工作簿New.xls的表 "new "中:
-----------
'要先引用 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

热点排行