プロが教えるわが家の防犯対策術!

EXCELで 
1.イコール=
2.対象セル
3.エンター
の操作を行うと
対象のセルの値が反映されます。
対象セルA1としてA2に設定して
A1を変更するとA2もそれに合わせて
A1の値が表示されます。
これをVBAでやることは可能なのでしょうか。
Cells(a, 1).Offset(1).Value = Cells(a, 1).Value
このコードだと一回のみで次にA1の値を変更しても
かわりません。
わかる方お願いいたします

質問者からの補足コメント

  • うれしい

    ありがとございます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/06/13 14:45

A 回答 (2件)

Range("A2").FormulaR1C1 = "=R[-1]C"

この回答への補足あり
    • good
    • 0

こんにちは



ご質問のような内容をVBAで実現するには、2通りの方法が考えられます。

1)セルに関数式を設定する
ご提示の例で言えば
 Range("A2").Formula = "=A1"
のような感じで、一度実行しておけば、セルに関数が設定されるので、以後、A1セルの値を変更しても反映されます

2)A1セルの値が変わったら自動的に処理が実行されるように設定する
ご提示の例で言えば、以下のようなコードを対象とするシートモジュールに記載しておきます。

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
Range("A2").Value = Range("A1").Value
End Sub

※ 他にも方法があるかも知れませんが、代表的なのはこんなところかと…
    • good
    • 0
この回答へのお礼

有難うございます

お礼日時:2018/06/13 14:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!