types不匹配(错误13)在循环中

第4行正在混乱我的循环与types不匹配! 我究竟做错了什么?

For i = 4 To 8 j = 20 + i Col = Columns(j) Range("'" & Col & "3'").FormulaR1C1 = "=IF(RC[-11]=0,0,(IF(SUMIF(R3C2:R" & lRow & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")>RC[-11]*1000000, SUMIF(R3C2:R" & lRow1 & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")- RC[-11]*1000000,0)))" Next i 

尝试这个:

 For i = 4 To 8 Cells(3, 20 + i).FormulaR1C1 = "=IF(RC[-11]=0,0,(IF(SUMIF(R3C2:R" & lRow & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")>RC[-11]*1000000, SUMIF(R3C2:R" & lRow1 & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")- RC[-11]*1000000,0)))" Next i 

通过单独使用CellsRange ,Excel将假定您要在活动工作簿中引用活动工作表。 明确指定要运行代码的工作簿/工作表是一个更好的主意。 例如:

 For i = 4 To 8 ThisWorkbook.Worksheets("Sheet1").Cells(3, 20 + i).FormulaR1C1 = "=IF(RC[-11]=0,0,(IF(SUMIF(R3C2:R" & lRow & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")>RC[-11]*1000000, SUMIF(R3C2:R" & lRow1 & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")- RC[-11]*1000000,0)))" Next i 

你犯了很多错误。

首先, col是一个列,而不是(范围地址)string。 您不能将列连接到string。

其次,你不应该用单引号( ' )来引用范围地址。

你可能想要做的是:

 Cells(3, j).Formula = ...