作者hugh509 ((0_ 0))
看板Visual_Basic
标题Re: [VBA ] 资料自动换栏位(完成)加入VLOOK自动查表
时间Thu Apr 30 12:40:10 2015
※ 引述《hugh509 ((0_ 0))》之铭言:
: 目前希望的格式是
: A B C D E F G H
: 1
: 2 编号 名称 |x001 资料表1 11111 x203 资料表203 20320
: 3 x001 xxxx | 1111111 11111 203203203 20320
: 4 x002 xxxx | 1111111 11111 203203203 20320
: 5 . | 1111111 11111 203203203 20320
: 6 . |x002 资料表2 22222
: . | 2222222 22222
: . | 2222222 22222 ↗
: 200 x203 xxxx | 2222222 22222
: 左边A、B栏位固定式编号及名称
: 右边D2放置网路抓取的表格
: 但是因为抓取的表格很多
: 所以想再一定的编号,如200列後换栏位
: 目前写出来的是这样,只能持续向下不会自动换栏
: 但又不知该如何着手才好,请各位大大帮忙谢谢~
: 已更新为可运行,感谢长今大帮助
: Dim PO As Integer
: Dim POY As Integer
: '清空栏位
: Columns("C:IV").Select
: Selection.ClearContents
: PO=2
: POY=3
: LRA = Range("A2").End(xlDown).Row
: For i = 3 To LRA
: If Sheets("汇入资料").Cells(i, 2) <> "" Then
: ValuesSno = "$A$" & i
: LinkSS = "URL;http://xxxxxx.xxxx" & Sheets("汇入资料").Cells(i, 1)
:
: If PO >=200 Then
: PO = 2
: POY = POY + 3
: End If
: With ActiveSheet.QueryTmables.Add(Connection:= _
: LinkSS, Destination:=Sheets("汇入资料").Cells(PO , POY _
: ))
: .FieldNames = True
: .
: .
: .
: End With
: '带入编号,栏位也是向右边移两栏
: Cells(PO , POY) = "=VLOOKUP(A" & i & ",A:B,1,0)"
: PO = PO + 4
: End If
: Next i
想上面同样的回圈,添入下面这段
达到这种自动填表的功能
A B C D E F
1
编号 品名
2
x0001 xaaa
3
x0002 xbbb
Dim mrange As Range
Set myrange = Sheets("汇入资料").Range(Cells(PO, POY), Cells(PO + 4, POY + 1))
Sheets("分析资料").Cells(i, 1) = "=VLOOKUP(" & Sheets("汇入资料").Cells(i, 1)
& ",汇入资料!$A:$B,1,0)"
编号这段已经可以运行
Sheets("分析资料").Cells(i, 2) = "=VLOOKUP(" & Sheets("分析资料 ").Cells(i,
) & "," & myrange & ",2,0)"
但对於品名这段,却因为将范围设为变数无法运行
因为品名在选取的表格中,它的位置是不固定的
有时在第二格,有时在第三格
所以才想用VLOOKUP做,想请教一下该怎样达到目标?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.252.41.19
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1430368814.A.834.html
※ hugh509:转录至看板 Office 05/01 15:55
※ 编辑: hugh509 (111.252.41.19), 05/01/2015 17:54:39