首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FormulaR1C1中的结肠

FormulaR1C1中的结肠
EN

Stack Overflow用户
提问于 2014-10-08 18:20:53
回答 2查看 738关注 0票数 1

我的vba代码中有下面一行

代码语言:javascript
复制
[A1].FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-4],Rates!A:H,3,FALSE),"""")"

运行时,它将在Excel中创建如下内容:

代码语言:javascript
复制
=IFERROR(VLOOKUP(A8,Rates!A:(H),3,FALSE),"")

我不知道为什么“H”会出现在括号里。当然公式不起作用。当我移除括号时,它就起作用了。但是,首先如何让VBA正确地创建公式呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-08 18:50:38

原因其实很简单。一方面你说的是.FormulaR1C1,另一方面你同时使用这两种符号。坚持R1C1A1

所以试试这个

代码语言:javascript
复制
[A1].FormulaR1C1 = "=IFERROR(VLOOKUP(R[7]C,Rates!C:C[7],3,FALSE),"""")"

代码语言:javascript
复制
[A1].Formula = "=IFERROR(VLOOKUP(A8,Rates!A:H,3,FALSE),"""")"
票数 1
EN

Stack Overflow用户

发布于 2014-10-08 18:40:41

试图用VBA编写VLOOKUP时,由于某种原因,经常会遇到这样的奇怪情况。解决这个问题的最好方法是编写代码来命名范围,然后在VLOOKUP中使用该名称。

代码语言:javascript
复制
ActiveSheet.Names.Add Name:="VLRange", RefersTo:="=Rates!" & Range(Cells(1, 1), Cells(lastrow, 1)).Address

那么您的公式编写代码是

代码语言:javascript
复制
[A1].FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-4],VLRange,3,FALSE),"""")"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26263765

复制
相关文章

相似问题

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