如何将循环插入宏

时间:2014-09-24 12:17:13

标签: excel vba

我知道这将是一个新手问题,但我在下面有这个宏,我需要它从de E16到E27。

基本上我需要的是每次用户插入" NA"在该范围的一个单元格中,例如E20,宏删除F列中相同行中的单元格内容,在这种情况下为F20,否则宏将在该单元格F20中插入公式(E20-5)。

这个宏工作得很好,但是我需要设置一个循环而我不知道怎么做。有人能帮助我吗?

这是我使用的代码:

Public Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("E16")) Is Nothing Then
    If UCase(Range("E16")) = "NA" Then
      Application.EnableEvents = False
      Range("f16").ClearContents
      Application.EnableEvents = True
  Else
     Range("F16").Formula = "=(E16 - 5)"
End If
End If

End Sub

1 个答案:

答案 0 :(得分:1)

代码:

Public Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("E16:E27")) Is Nothing Then
        If UCase(Target) = "NA" Then
            Application.EnableEvents = False
            Target.Offset(0,1).ClearContents
            Application.EnableEvents = True
        Else
            Target.Offset(0,1).Formula = "=(E16 - 5)"
        End If
    End If
End Sub

理论值:

你实际上不需要循环,因为Worksheet_Change事件是你的循环。