构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中具有与标准范围相同的行数。