Excel用值替换公式

时间:2017-07-21 09:05:12

标签: excel vba excel-vba excel-2010

有两列A& B:

  • A具有从另一个工作表中提取值的公式。
  • B是输入值。

如果B中的输入值是" Y",则A中的公式应该替换为从公式获得的静态值。如果B为空,则保持其公式。

如何为所有行实现此目的?

1 个答案:

答案 0 :(得分:2)

如果我正确理解了您的问题,可以使用Worksheet_Change Event完成此操作。更改单元格(Target)时会发生此事件。

因此,您只需检查Target.Column是否为第二列,其值是否为Y,然后向左移动一列Target.Offset(0, -1)并替换该值。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 2 And Target.Value = "Y" Then
        Target.Offset(0, -1).Value = Target.Offset(0, -1).Value
    End If
End Sub

请注意,输入值Y区分大小写,仅适用于大写Y。为了使其不区分大小写,请使用UCase(Target.Value) = "Y"来接受小写y