首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将此Excel公式转换为VBA代码?

如何将此Excel公式转换为VBA代码?
EN

Stack Overflow用户
提问于 2013-06-19 22:15:05
回答 2查看 6.5K关注 0票数 0

‘我正在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代码。‘

EN

回答 2

Stack Overflow用户

发布于 2013-06-19 22:22:41

这对我来说很有效:

代码语言:javascript
复制
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公式,但带有转义为"""字符。

票数 1
EN

Stack Overflow用户

发布于 2013-06-19 22:22:33

你需要转义你的引号。

代码语言:javascript
复制
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,因为您使用的特定单元格名称与当前选定的单元格不相关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17193620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档