2012-02-11 31 views
1

我確信有一個非常簡單的答案(我不知道我有excel chops來問「正確」的問題,或谷歌會給我的答案)。在單元格中輸入值,並顯示公式的結果值

我有以下公式:

=DATE(YEAR(V1), MONTH(V1)+V2-1,8) 

我希望能夠進入一個數字細胞(比如14),並有公式來看,除了我進入數細胞應取代公式中的數字8。所以,再次進入14,將會執行這個公式將是:

=DATE(YEAR(V1), MONTH(V1)+V2-1, 14) 

因此,要回顧一下,工作流程是這樣的:

  1. 我輸入值「14」到單元格A3。
  2. 上述公式執行
  3. A3的顯示值是一樣的東西3/14/2012(根據我的V1/V2的單元格值)

我能做到這一點,而不VBA? (我是一個.NET程序員,所以VBA對我來說並不陌生,我只是覺得Excel應該能夠在沒有代碼的情況下完成本地化)。

回答

1

否 - 因爲您將通過公式將A3中的值轉換爲A3中的新值。當這些細胞被改變(所有5個,如果一下子改變)你問

  1. 結果右鍵單擊您的工作表標籤
  2. 查看A5:

    下面的代碼將更新A1代碼

  3. 複製並粘貼下面的代碼

    Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim rng1 As Range 
    Dim rng2 As Range 
    Set rng1 = Intersect(Range("a1:A5"), Target) 
    If rng1 Is Nothing Then Exit Sub 
    Application.EnableEvents = False 
    For Each rng2 In rng1 
        rng2.Value = Format(Evaluate("DATE(YEAR(V1), MONTH(V1)+V2-1," & CLng(rng2.Value) & ")"), "mm/dd/yyyy") 
    Next rng2 
    Application.EnableEvents = True 
    End Sub 
    
+0

作品完美。謝謝佈雷特。 – 2012-02-11 19:14:12

相關問題