作者hsiangjason (小猛)
看板Visual_Basic
标题[VBA ] VBA 抓取不同excel的不同sheet资料
时间Wed Apr 3 00:58:01 2013
软体:EXCEL
版本:2013
之前在Office搜寻到相关主题,Cidolfas文章刚好是我想要的VBA程式,
但还是有误麻烦哪位高手帮我看哪边有错,谢谢。
1.我现在有一个资料夹里有不同EXCEL档,每个EXCEL档只有一个Sheet,
而我会用VBA把这些档合并在同一个EXCEL里,且每个sheet名称都依公司名称命名,
EX.1101台泥 1102亚泥....等等依此类推,而每个Sheet我只要最後一笔资料(整行EX.270)
最後在新的Sheet排列下来,或者先不合并使用Cidolfa大大的
[VBA 抓取同excel的不同sheet资料]最後讨论的程式去执行,
但在Set xlWrk = xlapp.Workbooks.Open(OpenFld & "A" & i & ".xls")有误?
我稍为改的程式码如下:
Option Explicit
Sub 从不同excel抓取固定栏位的值()
Dim ISht As Worksheet, i&, OpenFld$, n&
Dim sht As Worksheet
Dim xlapp As Excel.Application
Dim xlWrk As Excel.Workbook
Dim xlSht As Excel.Worksheet
Set xlapp = New Excel.Application
Set ISht = Sheets("sheet1")
OpenFld = "C:\Users\jason\Desktop\1\"
For i = 1 To 50
Set xlWrk = xlapp.Workbooks.Open(OpenFld & "A" & i & ".xls")
For Each sht In xlWrk.Sheets
sht.Select
n = n + 1
ISht.Range("C" & n) = sht.[C270]
Next
xlWrk.Close
Next
End Sub
只改读取路径和ISht.Range("C" & n) = sht.[C270]此行资料
希望哪位高手可以帮我指正一下,万分感谢QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.41.21.77
1F:→ MOONRAKER:设watch监看OpenFld & "A" & i & ".xls"内容是啥 04/03 01:37
2F:→ MOONRAKER:我猜你 i 转成字串时前後有空白 04/03 01:37
3F:推 DeathWatch:同意楼上 04/03 13:43
4F:→ DeathWatch:OpenFld = "C:\Users\jason\Desktop\1\" 你这行错了 04/03 16:48
5F:推 DeathWatch:可以改ISht.Range("C" & n) = xlWrk.Sheets(1).[C270] 04/03 16:51
6F:→ DeathWatch:里面的回圈不需要 04/03 16:51
7F:→ hsiangjason:有跑出来了,谢谢! 04/03 18:08