删除单引号VBA函数

时间:2013-12-18 15:34:31

标签: vba excel-vba quote excel

为简化起见,我在Excel工作簿中有两张纸。

如果我在sheet1的一个单元格中写入=sheet2!R3C2,则单元格正确获取sheet2的单元格R3C2的值。 我想概括一下,对于VBA中的许多行,所以我的代码是:

row = XX a long 

temp = "=sheet2!R" & row - 1 & "C2"

Range("c" & row).Value = temp

但是当我使用这段代码时,单元格的值(行,3)是=sheet2!'RXXC2'

如何删除单引号?

3 个答案:

答案 0 :(得分:1)

Range("C" & row).Formula = temp

会在您的单元格中生成正确的公式。

你应该考虑做什么而不是循环

Range("A1").Formula = "=Sheet2!$B1"
Range("A1").Resize(100, 1).Formula = Range("A1").Formula

第一行在活动工作表的单元格A1中插入公式=Sheet2!$B1$ 美元符号确保该列不会增加(同样适用于数字

然后第二行从A1向下重复100行的公式,替换B 后的数字

所以现在

A1 =Sheet2!B1
A2 =Sheet2!B2
A3 =Sheet2!B3
... 

此外,你有点不清楚你真正想要做什么,所以考虑使用Evaluate()函数将公式值保存到另一个范围的另一个选项

Range("c" & row).Value = Evaluate(temp)Range("C" & Row).Value = [temp]

答案 1 :(得分:0)

您想要设置公式,而不是值:

Range("c"&row).FormulaR1C1 = temp

答案 2 :(得分:0)

尝试撰写Range("c" & row).FormulaR1C1=temp