※ [本文转录自 Visual_Basic 看板 #1LGR8kWq ]
作者: 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 + 3, 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做,想请教一下该怎样达到目标?