2017-06-06 87 views
0

要放置给定的公式中5个细胞运行时1004错误在VBA动态式粘贴

'////j and p have been declared before as Double 
For j = 5 To 9 
p=j*4  

Worksheets("Sheet1").Activate 
Sheets("Sheet1").Cells(j, 5 + (3 * n) + 1).Select 
ActiveCell.FormulaR1C1 = "=IFERROR(IF(ROW(RC[p])<255,""DATA N/A"",INDIRECT(ADDRESS(ROW(RC[p])-250,COLUMN(RC[p]),,,))/RC[p]-1),""DATA N/A"")" 

Next j 

有一个在一个ActiveCell运行时间1004错误....线。我无法调试错误。有人请帮忙。

回答

0

你实际上并不希望字符串'p'出现在你的公式中。我不知道你的公式是否有效。

Sub x() 

Dim j As Long, p As Long, n As Long 

For j = 5 To 9 
    p = j * 4 
    Worksheets("Sheet1").Cells(j, 5 + (3 * n) + 1).FormulaR1C1 = "=IFERROR(IF(ROW(RC[" & p & "])<255,""DATA N/A"",INDIRECT(ADDRESS(ROW(RC[" & p & "])-250,COLUMN(RC[" & p & "]),,,))/RC[" & p & "]-1),""DATA N/A"")" 
Next j 

End Sub 
+0

是的我不想要字符串'p'但它的公式中的值,您的编辑不起作用。 – amanized

+0

“不工作”不是有用的回应。正如我所说,你是否检查过你的公式在语法上是正确的?主席先生, – SJR

+0

我想编辑这个由记录宏产生的vba代码,因此在语法上这应该是正确的,请建议做些什么。 (ROW(RC [-13])<250,“DATA N/A”,INDIRECT(ADDRESS(ROW(RC [-13]) - 250,COLUMN(ROW RC [-13]),,,))/ RC [-13] -1),“”DATA N/A“”)“ – amanized