台灣最大程式設計社群網站
線上人數
1066
 
會員總數:239573
討論主題:185853
歡迎您免費加入會員
討論區列表 >> 其他語言 >> VBA vlookup 疑問求教
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
VBA vlookup 疑問求教
價值 : 50 QP  點閱數:279 回應數:3

樓主

Jack
門外漢
0 1
12 1
發送站內信

這段巨集執行到 Cells(6, AA) = "=VLOOKUP($A6,法人買賣! R1C" & BB1 & ":R2000C" & BB2 & ",3,FALSE)" 這一句時,一直出現錯誤,而中斷執行。
求助 解答 感謝


Sub 投信買賣公式()
Sheets("投信彙整").Select
AA = 10
BB1 = 6 '=F
BB2 = 10 '=J
XX = 1
Do While XX <= 3
Cells(6, AA) = "=VLOOKUP($A6,法人買賣! R1C" & BB1 & ":R2000C" & BB2 & ",3,FALSE)"
' 原來在工作表上的公式 =VLOOKUP($A6,法人買賣!F1:J2000,3,FALSE)
AA = AA + 1
B1 = B1 + 5
B2 = B2 + 5
XX = XX + 1
Loop
End Sub
請教先進 以上這段巨集哪裡錯誤了

麻煩賜教 感謝您





搜尋相關Tags的文章: [ VBA VLOOKUP R1C1 ] ,
本篇文章發表於2017-01-28 18:47
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

香帥
檢舉此回應
請將
Cells(6, AA) =
改為
Cells(6, AA).FormulaR1C1 =
再試看看
本篇文章回覆於2017-01-29 22:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

roar
檢舉此回應
Hi,all
這是模擬測試結果
在vba中運用excel function you need to add application.worksheetfunction before that function
vlookup 第1,2 args 存在某種關係才能使用,即 arg1之數值必需位於 arg2 這個 array 的第一欄內
B1及B2 是 BB1及BB2嗎,若如此將涉及arg2位置即其起始欄位置變動,該位置仍有 arg1數值嗎?

Sub 投信買賣公式()

Dim st As String
Dim AA As Integer
AA = 10
B1 = 6 '=F
B2 = 10 '=J

st = Chr(B1 + 64) & "1:" & Chr(B2 + 64) & "2000" 'R1C1 seems can't work on range operator , so i use alphabets instead,to pick need to add 64 and transfer into char
ActiveWorkbook.Sheets("中心").Cells(6, AA) = Application.WorksheetFunction.VLookup(ActiveWorkbook.Sheets("投信彙整").Range("$A6"), ActiveWorkbook.Sheets("法人買賣").Range(st), 2, False)

End Sub
本篇文章回覆於2017-01-30 21:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Jackchen
檢舉此回應
獲得知識+先進提供的解答,經敝人修改測試,以下的巨集可以執行,
二位大大熱心快速地回復賜教  特此致謝  感謝   


Sub 投信買賣公式() 'Cells(6, 10) = "=VLOOKUP(RC1, 法人買賣!R[-5]C[-4]:R[1994]C, 3, FALSE)"
Sheets("投信彙整").Select
AA = 10
BB = 1
CC = 6
DD = 2000
EE = 10
XX = 1
Range("j6: p7").Clear

Do While XX <= 300 '0 '=VLOOKUP($A6,法人買賣!F1:J2000,3,FALSE)
Cells(6, AA) = "=VLOOKUP(RC1, 法人買賣!R" & BB & "C" & CC & ":R" & DD & "C" & EE & ", 3, FALSE)"
'原始知識+ 寫法 Cells(6, AA) = "=VLOOKUP(RC1, 法人買賣!R[-5]C[-4]:R[1994]C, 3, FALSE)"
AA = AA + 1
BB = BB + 0
CC = CC + 5
DD = DD + 0
EE = EE + 5
XX = XX + 1
Loop
Beep
MsgBox "完成作業"
End Sub
本篇文章回覆於2017-01-31 15:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.