簡體   English   中英

Complex(?) Excel 公式不能用 VBA 寫入 DataBodyRange

[英]Complex(?) Excel formula can't be written with VBA to DataBodyRange

通過 VBA,我從以文本形式存儲公式的配置表中讀取公式,並將它們作為真實公式寫入其他文件。 當這樣的公式 = '=1+1 這將 go 很好,但是公式

'=IFNA(INDEX(tblRoute[ROUTE_ID];MATCH(TRUE;INDEX(tblRoute[RouteFuncKey]=[@RouteFuncKey];0);0));">>> Niet aanwezig!") 

導致錯誤。

我將配置表放入一個數組並從中讀取公式如下:

strNewFormula = arrTableFieldsWithUpdateAction(6, i)

我用以下公式編寫公式:

wbkMDRoutingRCGFile.Worksheets(strTableWorksheet).ListObjects(1).ListColumns(strTableField).DataBodyRange.Formula = strNewFormula

發生意外錯誤:

運行時錯誤“1004”:應用程序定義的或對象定義的錯誤。

如果公式在邏輯上是正確的,那么參數分隔符會給你帶來麻煩。

公式

=IFNA(INDEX(tblRoute[ROUTE_ID];MATCH(TRUE;INDEX(tblRoute[RouteFuncKey]=[@RouteFuncKey];0);0));">>> Niet aanwezig!")

通過 VBA 應該是

=IFNA(INDEX(tblRoute[ROUTE_ID],MATCH(TRUE,INDEX(tblRoute[RouteFuncKey]=[@RouteFuncKey],0),0)),">>> Niet aanwezig!")

即所有分號都應替換為逗號!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM