2017-07-21 14 views
-1

更换式有两个列A & B:Excel中与值

  • A具有从另一片提取值的公式。
  • B是输入值。

如果B中的输入值是“Y”,那么A中的公式应该被替换为从公式中获得的静态值。如果B是空的,A保持它的公式。

我怎样才能达到这一点的所有行?

+2

欢迎来到堆栈溢出,请花点时间通过[欢迎游览](https://stackoverflow.com/tour)了解你在这里的方式(并获得你的第一个徽章),阅读如何[创建一个最小,完整和可验证的示例](https://stackoverflow.com/help/mcve),并检查[如何提出好问题](https://stackoverflow.com/help/how-to-ask ),所以你增加了获得反馈和有用答案的机会。 –

回答

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

+0

谢谢,如果我想让整个行都发生这种情况,而不是单元格? –

+0

你的意思是“*整行*”,你需要更精确。 –