这句vba代码什么意思?

ActiveCell.FormulaR1C1="='统计(2)'!R[1]C[-4]+'统计(3)'!R[1]C[-4]"如果要用Range()命令,上述代码怎么改?... ActiveCell.FormulaR1C1 = "='统计 (2)'!R[1]C[-4]+'统计 (3)'!R[1]C[-4]"
如果要用Range()命令,上述代码怎么改?
展开
 我来答
declanjun
2013-08-23 · TA获得超过275个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:92.4万
展开全部
我觉得是这样,先理解这条代码的意义:
设置当前选中的单元格的公式 (以R1C1引用样式)“='统计 (2)'!R[1]C[-4]+'统计 (3)'!R[1]C[-4]"
这个公式的意思:假设当前单元格是E5,在“统计(2)”表和“统计(3)”表中找到5+1行=6,5-4=1列即A列,综上,即A6单元格的值,并相加。

回到问题,我把你说的range理解为公式不要用现在的RC引用样式获得,二是用range属性获得
所以你可以试验下下面这个代码,试验的时候,记得新增2张sheet,一个改名为1,一个改名为2
ActiveCell.Formula = "='1'!" & Cells(ActiveCell.Row + 1, ActiveCell.Column - 4).Address & "+ '2'!" & Cells(ActiveCell.Row + 1, ActiveCell.Column - 4).Address
当然这句代码有局限性,超出边界(比如选择D1单元格)会报错,要加其他判断语句,
而R1C1样式则自动会从左侧边界,跳至右侧边界获取数据,='1'!XFD2+'2'!XFD2
所以,这种情况,R1C1样式的公式实际上是更方便的;
jidong2107
2013-08-23 · TA获得超过867个赞
知道小有建树答主
回答量:724
采纳率:75%
帮助的人:209万
展开全部
Range(ActiveCell.Address).value = "='统计 (2)'!R[1]C[-4]+'统计 (3)'!R[1]C[-4]"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式