2013-07-01 102 views
2

我有一个格外糟糕的时间去了解什么不顺心这里。Excel的VBA公式格式问题

我想通过VBA进入下面的公式:

Range("C8").Select 
ActiveCell.FormulaR1C1 = "=MODE.SNGL('Data'!D:D)" 

现在,问题是,VBA代替将其输出为:

=MODE.SNGL('Data'!D(D) 

我尝试使用CHR(58),并且还使用'来逃避,但没有樱桃。 有人能告诉我什么,我做错了什么?

+1

你用什么代码,代码? – JosieP

+1

进行了编辑以显示更多代码。 – Overseer10

+0

其他人回答,但不是你可以只使用'ActiveCell.Formula =“= MODE.SNGL(数据d:d)”',这对'''是多余的 – brettdj

回答

2

A1风格。替代由

Range("C8").Formula = "=MODE.SNGL('Data'!D:D)" 
+0

谢谢你,解决了我的问题。 – Overseer10

3

用这个代替:

ActiveCell.Formula = "=MODE.SNGL('Data'!D:D)" 

或者,如果你需要使用.FormulaR1C1属性,你可以做到这一点是这样的:如果你使用FOrmulaR1C1你必须通过一个R1C1样式的引用不

ActiveCell.FormulaR1C1 = "=MODE.SNGL('Data'!C4:C4)" 
+0

+1是第一个1秒:) – brettdj

+0

你的答案都是对的。感谢您藏汉 – Overseer10

+0

仅供参考,因为activecell是在C R1C1版本列应该指'“数据” C [1]:C [1]'或'数据C4:C4'绝对引用 – JosieP