构造 R1C1 以在工作表函数中使用

Construct R1C1 to use in worksheet 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 列中是否有公式,而不是将其与零长度字符串进行比较。假设 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 function 需要在 sum_range 中具有相同的行数条件范围