excel VBA FormulaR1C1 中使用的公式是否可以使用变量的问题

请问大侠可否在FormulaR1C1中使用如下公式:DimxAsVariantx=5.5ActiveCell.FormulaR1C1="=IF(RC[-1]>-110,(... 请问大侠可否在FormulaR1C1中使用如下公式:
Dim x As Variant
x = 5.5
ActiveCell.FormulaR1C1 = "=IF(RC[-1]>-110,(RC[-1]-x),RC[-1])"

编译报错,将公式改为ActiveCell.FormulaR1C1 = "=IF(RC[-1]>-110,(RC[-1]-5.5),RC[-1])"则可以通过,请问如何将此公式中的5.5变成变量?非常感谢!
很感谢,但是ActiveCell.FormulaR1C1 = "=IF(RC[-1]>-110,(RC[-1]-" & x & "),RC[-1])" 是不行的,改成ActiveCell.FormulaR1C1 = "=IF(RC[-1]>-110,(RC[-1]-"" & x & ""),RC[-1])" 也不行。
展开
 我来答
百度网友5311d79
2009-11-05 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3203万
展开全部
既然公式中用到这个变量,那肯定是具有某种意义的。
建议在Excel中用一个单元格来记录这个变量,发生变化时通过VBA代码更新该单元格内容。这样公式中也就可以直接用R1C1相对格式表示法来引用了,而且也方便后期维护管理。

如用两个单元格记录:
系数
5.5
或:
系数 5.5

如果不想给使用者看到,可以放在比较隐秘的部位(比如图表后面,右边屏幕显示区域外)。

而且,楼主,我试验过了,一楼的方法是可以的呀!
ActiveCell.FormulaR1C1 = "=IF(RC[-1]>-110,(RC[-1]-" & x & "),RC[-1])"
通过字符串连接符&接成完整的公式,应该是没有问题的。 麻烦楼主再试试。
有问题hi我吧 ;-)
巩迎南望莹
2020-05-15 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:799万
展开全部
excel有两种引用方式的,一种是a1引用,一种是r1c1引用~你现在使用的是r1c1引用~要改引用方式可以在
工具
选项
常规
中取消r1c1引用样式~看到你给我的留言了,但是还是不明白你的意思~你是不是想在选中某个单元格的时候,引用附近的某个单元格呢?想把2换成i可以这样:
activecell.formular1c1
=
"=rc[-"
&
i
&
"]+rc[-1]"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coolbi5
2009-11-05 · TA获得超过1万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:2433万
展开全部
看到那个公式是在双引号里面的,说明在VBA里面这个只是个字符串

改成下面的看看:

ActiveCell.FormulaR1C1 = "=IF(RC[-1]>-110,(RC[-1]-" & x & "),RC[-1])"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fushxp
2009-11-05 · TA获得超过2460个赞
知道小有建树答主
回答量:1190
采纳率:0%
帮助的人:1074万
展开全部
不行,主要是FormulaR1C1不接受变量。
我想你这个公式完全可以通过自定义一个简单的函数来实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式