2017-07-21 36 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

你的意思是「*整行*」,你需要更精確。 –