‘我正在Excel工作表的单元格A6中使用此公式。它运行正常。
=IF(O6="Hand",“手动录入”,IF(O6="JET",R6,IF(O6=“焦炭”,“红牛”,IF(O6=“运费”,“物流”,IF(O6=“税”,“税”,IF(O6=“转账成本”,“转账成本交易”,IFERROR(IF(FIND("INV#",R6,1)>=1,MID(R6,FIND("INV#",R6,1),10),""),“”))
现在,我的问题是:如何将其转换为VBA?我已经试过录制了,代码如下:
ActiveCell.FormulaR1C1 =_ "=IF(RC14=""Hand"",“”手动录入JE"",IF(RC14=""JET"",RC17,IF(RC14=“”可乐“”,“红牛”“,IF(RC14=”“运费”“,”物流“”,IF(RC14=“”税“”,“税”,IF(RC14=“”转移成本“”,“”转移成本交易“”,IFERROR(IF(FIND(""INV#"",RC17,1)>=1,MID(RC17,RC17(“”FIND“”,FIND“&_”),“)”
当我运行这段代码时,我收到运行时错误1004:应用程序定义或对象定义的error.So。我将其更改为如下所示,除了find选项之外,执行的操作与上面的公式相同,一切运行正常。End sub.How do I get the fine option in上述VBA代码。‘
发布于 2013-06-19 22:22:41
这对我来说很有效:
Range("L6").Formula = "=IF(O6=""Hand"",""Manual Entry"",IF(O6=""JET"",R6,IF(O6=""COKE"",""Red Bull"",IF(O6=""Freight"",""Logistics"",IF(O6=""TAX"",""Tax"",IF(O6=""TRANSFER COST"",""Transfer Cost Transactions"",IFERROR(IF(FIND(""INV#"",R6,1)>=1,MID(R6,FIND(""INV#"",R6,1),10),""""),"""")))))))"这只是您原始的Excel公式,但带有转义为""的"字符。
发布于 2013-06-19 22:22:33
你需要转义你的引号。
ActiveCell.Formula = "=IF(O6=""Hand"",""Manual Entry"",IF(O6=""JET"",R6,IF(O6=""COKE"",""Red Bull"",IF(O6=""Freight"",""Logistics"",IF(O6=""TAX"",""Tax"",IF(O6=""TRANSFER COST"",""Transfer Cost Transactions"",IFERROR(IF(FIND(""INV#"",R6,1)>=1,MID(R6,FIND(""INV#"",R6,1),10),""""),"""")))))))"并使用.Formula,因为您使用的特定单元格名称与当前选定的单元格不相关。
https://stackoverflow.com/questions/17193620
复制相似问题