[英]SQL syntax error in excel formula
我有一個VBA公式,導致我的excel宏無法運行。 它給出語法錯誤; 但沒有細節。 誰能看看我的問題可能是什么? 我會很感激。
謝謝。
ActiveCell.FormulaR1C1 = "=IF(
RC[-14]=RC[-11],RC[-14]&"" is Head of Household
at ""&IF(RC[-6]="""",RC[-9]&"",
""&RC[-8]&"",""&RC[-7],RC[-6]&"",""&RC[-9]&"",""&RC[-8]&"",""&RC[-7]),
IF(RC[-12]=""Cen-Head"",""Head of Household at
""&IF(RC[-6]="""",RC[-9]&"",
""&RC[-8]&"",""&RC[-7],RC[-6]&"",
""&RC[-9]&"",""&RC[-8]&"",""&RC[-7]),
""Enumerated with ""
&IF(RC[-6]="""",(RC[-14]&"" at
""&RC[-9]&"",""&RC[-8]&"",""&RC[-7]),
(RC[-14]&"" at ""&RC[-6]&"",""&RC[-9]&"",""&RC[-8]&"",""&RC[-7]))
)"
不確定標題為何提到SQL,公式中沒有。
除此之外,我不確定您是否能解決這個問題,但是問題似乎是括號不匹配,特別是您需要在公式末尾添加一個額外的結束括號。
雖然這個公式相當混亂,所以我可能已經錯過了其他東西。 盡管確實花了大約30分鍾試圖清理它以便更易讀,但我還是不得不把毛巾扔了。 因此,我強烈建議:
.Value
而不是.Formula
) 由於我沒有關於公式的用途以及宏在做什么的任何上下文,因此我無法確定哪種情況會更好。 但是,這兩種方法都比嘗試使用現有的方法要好。
我將建議幾件事,作為使VBA中的設置公式更整潔,更易於閱讀的方法,以備將來使用。 1)您在很多地方都需要在公式中出現“”。為了便於閱讀,我發現最好聲明一個變量並將其設置為“”,如下所示:
Dim dq as string
dq = chr(34) 'chr 34 is the unicode value for "
2)由於我們使用VBA代碼填寫公式,因此使用&
代替使用CONCATENATE
公式會使事情變得很難理解(這是VBA還是公式的串聯)? 因此,您僅應將&
用於VBA串聯,並在實際的公式字符串內使用CONCATENATE
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.