在列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声明一个简单的陈述 。

如果9L29最后一个被占用的行,你试图设置rng2的语法来给出类似于L29语法。

因为我认为它是ColumnN你想填充,我认为rng2应该基于这一点,即使使用ColumnL来确定最后填充的行。

看起来你想要一个条件( <> ""被解释为“不是空白”)和.offset需要参数( (0,-2)被解释为“相同的行,左侧两列”)。