的FormulaLocal財產(和Formula屬性)expec一個字符串(或字符串文字),它與您從公式欄中鍵入的公式相同。你試圖設置一個無效的字符串文字:
爲了兩個字符串,你需要使用&
結合,否則就是無效的VBA代碼:
"=concatenate(vlookup(" & i & ", inputs!A5:B43,2,false), " & some words & ")""
'< string literal ><VBA>< string literal >< VBA ><string>
的字符串文字用開始和結束雙引號定義。你怎麼把一個雙引號插入字符串文字?在VBA你把兩個雙引號:
"=concatenate(vlookup(" & i & ", inputs!A5:B43,2,false), ""some words"")"
'< string literal ><VBA>< string literal >
'Resulting formula (i=5): =concatenate(vlookup(5, inputs!A5:B43,2,false), "some words")
只要記住,這是所有的VBA水平。生成的字符串也必須是Excel的有效公式。例如,如果i
不是數字而是一個字,該公式將最終看起來像這樣:
=concatenate(vlookup(a word, inputs!A5:B43,2,false), "some words")
這是無效的Excel語法。在這種情況下,解決辦法是增加各地i
雙引號:
"=concatenate(vlookup(""" & i & """, inputs!A5:B43,2,false), ""some words"")"
你爲什麼不這樣做的另一個小區'CONCAT vlookup'和'text'並指出該單元格中'formulalocal'? – bonCodigo
OP正試圖在代碼中更改'FormulaLocal',而不是在電子表格單元格中。 –