VBA中的公式,将公式放在一系列单元格中,但不包括某些单元格



我有一段代码,它将转到一个范围并一直向下插入一个公式。下面的代码将转到范围N17:N160,并插入一个相对公式。

Sub Macro9()
Range("n17:n160").FormulaR1C1 = "=IF(RC[-11]="""","""",IFERROR(VLOOKUP(RC[-11],R17C42:R160C53,7,FALSE),""""))"
End Sub

它有效。然而,我需要添加一个级别,其中它查看范围B17:B160和该范围中具有"0"的任何单元格;Y";在中,它不会随公式更新,而任何一个没有";Y";,将更新。基本上,如果一行的B列有一个Y,不要把公式放进去,对于该范围内的其他单元格,一定要把公式放进来。

感谢

第一次发帖,很抱歉我没有正确格式化所有内容。

您需要建立一个符合添加公式标准的范围参考

类似的东西

Sub Macro9()
Dim rng As Range, rngFiltered As Range
Dim dat As Variant
Dim idx As Long

Set rng = Range("n17:n160")
dat = rng.Offset(0, -12).Value2 ' Column B data
rng.ClearContents ' Clear existing data from range
For idx = 1 To UBound(dat)
If dat(idx, 1) <> "y" Then
If rngFiltered Is Nothing Then
Set rngFiltered = rng.Cells(idx, 1)
Else
Set rngFiltered = Application.Union(rngFiltered, rng.Cells(idx, 1))
End If
End If
Next
rngFiltered.FormulaR1C1 = "=IF(RC[-11]="""","""",IFERROR(VLOOKUP(RC[-11],R17C42:R160C53,7,FALSE),""""))"
End Sub

相关内容

最新更新