2016-09-24 28 views
0
Range("a2") = 123.45 
Range("a2").FormulaR1C1 = "=TEXT(R[-1]C,""#.00"")" 

我可以在这里使用任何其他代码代替'FormulaR1C1'和相对引用'R [-1] C'吗?有没有办法将Excel函数嵌入到除使用FormulaR1C1格式之外的VBA代码中?

+1

你想达到什么目的?举个例子 – user3598756

+0

好吧,因为代码表示一个单元格有一个数值并且它被转换为文本。然而,输出并不重要,重要的是:在这段代码中可以使用绝对引用(而不是相对引用)吗? –

+0

如果只有绝对/相对参考重要,则只需从[-1]中删除方括号。但我觉得它不能简单地说明你需要什么... – user3598756

回答

0

它不转换结果文本,但试试这个:

With ActiveSheet.Cells(1, 2) 
    .Value = .Offset(0, -1).Value 
    .NumberFormat = ("0.00") 
End With 
+0

但这里缺少范围(“a2”)= 123.45'部分OP的问题。但是,这并不明显。这就是我要求澄清的原因 – user3598756

+0

对不起,代码中的拼写错误是所有疯狂的根源。这个问题可能会被视为解决和关闭。谢谢您的帮助。 –

0

我的问题是在达到预期效果的一个步骤。下一步是找出在循环中使用绝对路由的方法。但是,绝对引用(如代码中的值): 范围(“a2”)= 123.45范围(“a2”)。FormulaR1C1 =“= TEXT(R [-1] C,”“#。00”“)” 很难在循环中进行管理,其中变量用于获取结果。在一些R & D我想出了: Sheet1.Cells(2,1).Formula =“= TEXT((a1),”“#。00”“)”它的工作原理。 我将继续找到一种方法来操作R1C1公式以适应循环。

+0

您是否试图填充A2 = TEXT(A1),B2 = TEXT(B2),C3 = TEXT(C3)这样的范围作为最终目标,而没有循环? – jamheadart

相关问题