Excel在条件语句中向下移动行

时间:2018-01-08 17:01:02

标签: excel excel-vba vba

我想在Excel中执行以下操作: enter image description here 最简单的方法当然是拖放,但由于我有很多行和列,这是不可行的。 因此我认为以下内容应该有效:

=IF(B6="Food", "Food", "insert two blank cells")

然而,令我惊讶的是,我无法找到允许我在公式中实际使用“插入移位单元格”的东西。我有什么看法,我需要在这里开始使用VBA吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我相信以下代码可以满足您的期望:

Sub foo()
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
'declare and set your Sheet above
lastrow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
'find the last row with data on Column A

For i = 6 To lastrow 'loop from row 6 to last
    If ws.Cells(i, 1).Value = "Food" Then 'if Food is found
        ws.Cells(i, 2).Insert Shift:=xlDown 'insert a blank cell on Column B
        ws.Cells(i, 2).Insert Shift:=xlDown 'again insert a second blank cell on Column B
    End If
Next i
End Sub