构buildR1C1以用于工作表function

我使用“RowNKC”作为R1C1公式的行,但它在Excel函数中

Dim RowNKC As Integer RowNKC = Range("CuoiNKC").Row - 1 Dim RowCDPS As Integer RowCDPS = Range("CuoiCDPS").Row - 1 Dim i As Integer For i = 9 To RowCDPS If Cells(i, 9).Formula = Space(0) Then Cells(i, 7).Formula = "=SUMIF(**"NKC!R9C12:R" & RowNKC & "C12"**,CDPS!RC[-6],NKC!R9C15:R1189C15)" 

在R1C1语法中分配公式时,需要使用.FormulaR1C1 。 或者,只需检查列I中是否有公式,而不是将其与零长度string进行比较。 假设Range("CuoiNKC")Range("CuoiCDPS")是定义名称引用一个单元格,每个以下应该让你开始。

 Dim i As Long, RowNKC As Long, RowCDPS As Long With ActiveSheet RowNKC = Range("CuoiNKC").Row - 1 RowCDPS = Range("CuoiCDPS").Row - 1 For i = 9 To RowCDPS If Not .Cells(i, 9).HasFormula Then .Cells(i, 7).FormulaR1C1 = "'=SUMIF(NKC!R9C12:R" & RowNKC & "C12 , CDPS!RC[-6], NKC!R9C15:R1189C15)" End If Next i End With 

我不认为这个公式实际上会起作用,因为SUMIF函数需要在sum_range中具有与标准范围相同的行数。