作者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/m.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