首页  >  文章  >  软件教程  >  如何将多个200个左右的excel文件提取指定列数据并汇总到一个新文件中

如何将多个200个左右的excel文件提取指定列数据并汇总到一个新文件中

WBOY
WBOY转载
2024-01-23 22:57:191328浏览

如何将多个200个左右的excel文件提取指定列数据并汇总到一个新文件中

如何将多个200个左右的excel文件提取指定列数据并汇总到一个新文件中

运行excel后按住alt依次按f11,i,m

粘贴下面代码后做必要修改后按f5 即可在当前工作表中得到汇总结果.

Sub test()

c = Array(1, 3, 5, 7, 8)

p = "d:汇总文件所在目录" '根据实际修改 注意别遗漏最后的

f = Dir(p & "*.xlsx")

Set ns = ActiveSheet

Do Until f = ""

Set wb = Workbooks.Open(p & f)

For i = 0 To 4

n = n + 1

ns.Cells(2, n).Resize(144).Value = wb.Sheets("1号房间").Cells(2, c).Resize(144).Value

Next

wb.Close False

f = Dir

Loop

End Sub

提取多个相同格式excel表中的数据

楼主,我认为您这个事可行,出家人不敢打妄语, 我不出家人也不敢打妄语!

如果您也不想放弃这个机会的话,我愿一试,请HI我留言。

回答者: lxlzmh2002 - 大魔法师 八级 2009-8-19 04:40

=========================================================================

楼主,今天帮人写了一个多表合并的VBA程序,忽然想起好象看过有类似要的贴子,所以就找到您这个贴子,再来回答一次:

VBA代码如下:

Dim sht As Worksheet

Dim rs As Long, js As Long, ds As Long

Dim i As Integer

On Error Resume Next

Set sht = Sheets("汇总")

If Err.Number = 0 Then

Sheets("汇总").Select

ActiveSheet.Range("A1").CurrentRegion.ClearContents

Else

Sheets.Add before:=Sheets(1)

ActiveSheet.Name = "汇总"

End If

Sheets(2).Range("1:1").Copy Sheets("汇总").Range("A1")

For i = 2 To Sheets.Count

ds = Sheets("汇总").Range("A65536").End(xlUp).Row + 1

rs = Sheets(i).Range("A65536").End(xlUp).Row

js = Sheets(i).Range("A1").End(xlToRight).Column

With Sheets(i)

.Select

.Range(Cells(2, 1), Cells(rs, js)).Copy Sheets("汇总").Cells(ds, 1)

End With

Next

Sheets("汇总").Select

上述代码使用方法如下:

录制宏:菜单"工具"->宏->录制宏)--> "宏名"处给宏取名字->设定快捷键,"快捷键"下面输入一个字母-->确定后开始录制宏。

编辑宏:开始录制后即可直接按停止键, 然后编辑宏(工具->宏->宏(M)->选择刚建那个宏->点右边的"编辑"按钮-->进入宏编辑界面-->删除Sub XXX 至 End Sub之间所有内容-->然后粘贴上述程序代码-->按工具栏上的"保存"按钮-->"文件"菜单-->关闭并反回MicorSoft Excel

执行宏: 按刚刚设定的快捷键(Ctrl+那个字母), 或者通过菜单"工具"-->宏-->宏(M)-->窗口上选宏名, 按"执行"按钮执行宏.

===================================================================

这段VBA代码功能说明:

1.执行VBA代码之后,程序会自己增加一个名为"汇总"的工作表.

2.将sheet1(叫不叫sheet1无索味,程序自会知道名字)的第一行作为"汇总"表的第一行。

3.然后依次将除"汇总"表以外的工作表内, 从第二行开始的所有行所有列以追加方式添加到"汇总"表内(通常认为第一行是标题)

4.追加过程,相当于复制粘贴,但要比手工复制粘贴快得多,可以说是瞬间完成。且是您用快捷键执行一次,所有工作表全部汇总一次。

行与不行,您一试便知。关于这个代码的使用方面有问题,请Hi我~~~~~

以上是如何将多个200个左右的excel文件提取指定列数据并汇总到一个新文件中的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:docexcel.net。如有侵权,请联系admin@php.cn删除