构造 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 中具有相同的行数条件范围。
我使用 "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 中具有相同的行数条件范围。