是這樣的,假設我的
A工作簿存在 D:\測試夾
B工作簿存在 D:\來源夾
-----------------------------------
然後我用VBA讓A工作簿的(工作表1) 內的 事件程序 偵斷,當 A欄位有變動時,則B欄位會自動填入EXCEL的公式,陳述式如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Column = 1 And Cells(Target.Row, "A") <> "" Then
Cells(Target.Row, "B").FormulaR1C1 = "=VLOOKUP(參照代碼,'D:\來源夾\公司基本資料.xlsx'!公司參照表,3,0))"
end if
end sub
===================
一開始還好好的可順利抓在A欄位輸入代碼後,B欄位就顯示公司的資料
可是後來怪怪的,於是我去點A工作簿的B欄位(也就是被VBA代入EXCEL公式的部份)
結果發現利用VBA代入公式卻變成了
=VLOOKUP(參照代碼,公司基本資料.xlsx!公司參照表,3,0))
而原先的路徑這塊都被自動刪去了..'D:\來源夾\
請問這要怎麼解決才能讓路徑也一塊加入呢?
因為實在找不到人可詢問,只好來此求助...謝謝
-========================================
2021/2/15 23:12補充
我剛剛試了很久,發現好像問題出在單引號這裡,會發現這個應該是先發現 雙引號會自動兩個變成一個的代入..
例如在EXCEL下的B1格內利用vlookup語法時
if (A1="","",vlookup(A1,彙總表,2,0))
將該公式直接丟入VBA
cells(1,2).formula = "=if(A1="","",vlookup(A1,彙總表,2,0))"
後當程序執行後,則B1的公式會變成
=IF(A1=",",VLOOKUP(A1,彙總表,2,0))
而雙引號的問題我知道可以多打入兩組=>"" 變成""""就可以
但單引號就..搞不定了...幫幫我..感謝