在列N中的每个单元格中放置一个公式,其左边有两列值
如何在列N中的每个单元格中放置一个公式,其左侧有两列值(列L)?
Sub KeepOnlyAtSymbolRows() Dim ws As Worksheet Dim rng1, rng2 As Range Dim lastRow, LASTROW2 As Long LASTROW2 = ws.Range("L" & ws.Rows.Count).End(xlUp).Row Set rng2 = ws.Range("L2" & LASTROW2) 'Debug.Print rng2 For Each cell In rng2 cell.offset() cell.Formula = "foo bar etc" Next cell End Sub
也许尝试:
Sub KeepOnlyAtSymbolRows() Dim rng2 As Range Dim LASTROW2 As Long LASTROW2 = Range("L" & Rows.Count).End(xlUp).Row Set rng2 = Range("N1:N" & LASTROW2) For Each cell In rng2 If cell.Offset(0, -2) <> "" Then cell.Formula = "foo bar etc" End If Next cell End Sub
你似乎不是应用rng1
也不是lastRow
,也不是设置ws
值。 如果你想要维度为范围/长,那么在VBA中,你需要注意variables声明一个简单的陈述 。
如果9
是L29
最后一个被占用的行,你试图设置rng2
的语法来给出类似于L29
语法。
因为我认为它是ColumnN你想填充,我认为rng2
应该基于这一点,即使使用ColumnL来确定最后填充的行。
看起来你想要一个条件( <> ""
被解释为“不是空白”)和.offset
需要参数( (0,-2)
被解释为“相同的行,左侧两列”)。