2012-02-11 18 views
1

これは非常に簡単な答えがあると確信しています(そして、私は「正しい」質問をするためにExcelのチョップを持っているとは知らない、あるいはGoogleが私の答え)。セルに値を入力し、表示値の計算式を

私は、次の式を有する:

=DATE(YEAR(V1), MONTH(V1)+V2-1,8) 
私は私が入る数を除いて、セル(たとえば、14)に番号を入力し、その式の実行を持ってできるようにしたいと思い

セルは数式の8を置き換える必要があります。だから、もう一度、14を入力、実行します式は次のようになります。私は、値「14」セルA3にを入力し

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

    ので復習に、ワークフローがこれです。

  2. 上記の式は、A3の表示値が(私のV1/V2セルの値に応じて)2012年3月14日のようなもの

ある

  • 私はVBAなしでこれを行うことができます実行されますか? (私は貿易によって.NETプログラマーですので、VBAは私にとっては外国語ではありません.Excelのようにコードなしでこのネイティブを実行できるはずです。

  • 答えて

    1

    いいえ - A3の値を数式でA3内の新しい値に転送するためです。

    以下のコードでは、A1を更新します(すべてを一度に変更された場合は、すべて5)これらの細胞のいずれかが、あなたが

    1. を求める結果と変更されたA5は、右のあなたのシートタブ
    2. 表示]をクリックしますコード
    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

    作品次のコードを貼り付けます。 Brettに感謝します。 –

    関連する問題