作者ptguitar (佩蒂吉他)
看板Office
标题Re: [算表] 开启档案指定位置输入vba
时间Thu Feb 9 14:52:49 2017
※ 引述《ptguitar (佩蒂吉他)》之铭言:
: 软体:excel
: 版本:2007
: 最近因为工作上有遇到
: 有一个excel档案
: 标题是A,B,C,D,E.....有顺序
: 每天都要汇入档案
: 可是人家给的档案标题都是不固定
: 可能是A,C,B,E..
: 现在要依照顺序给他贴进去对应栏位
: 已经有一个大概档案
: 不过不知道怎麽回圈设定自动写入
: 档案如下:
: https://drive.google.com/open?id=0BwCgrQhGgaw7SmdoTVpuUnl1Y2M
我先试写把汇入的档案贴到比对的工作表
然後比对的标题跟资料的标题核对後贴到资料对应的栏位
用下面的vba
Sub try()
Dim E As Range
Dim x, y As String
x = Sheets("比对").Range("A2").End(xlDown).Row
y = Sheets("资料").Range("A2").End(xlDown).Row + 1
For Each E In Sheets("比对").Range("A1:Z1")
I = Application.Match(E, Sheets("资料").Range("A1:Z1"), 0) - 1
Worksheets("比对").Activate
Range("A2:A" & x).Offset(0, I).Select
Selection.Copy
Worksheets("资料").Activate
Range("A" & y).Offset(0, I).Select
ActiveSheet.Paste
Next
End Sub
不过都会贴错跟出现错误讯息
不知道那边想法有错
vba新手 感谢指导^^
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.34.252.11
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1486623171.A.519.html
1F:→ soyoso: 测试出现"型态不符合"的错误讯息,为变动E为空白储存格 02/09 15:03
2F:→ soyoso: match时产生的错误讯息 02/09 15:03
3F:→ soyoso: 可加上iserror判断排除 02/09 15:05
4F:→ soyoso: 贴错的原因为Range("A2:A" & x).Offset(0, I).Select这一 02/09 15:16
5F:→ soyoso: 段,请再多设个变数,并以累加方式变数=变数+1的方式 02/09 15:18
6F:→ soyoso: 放置位置於Range("A2:A" & x).Offset(0, I).Select到next 02/09 15:19
7F:→ soyoso: 中间 02/09 15:19
8F:→ soyoso: 最後将Range("A2:A" & x).Offset(0, I).Select的变数I改为 02/09 15:20
9F:→ soyoso: 累加的变数名称 02/09 15:20