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
通过单独使用Cells
或Range
,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 = ...