• ベストアンサー

VBAプログラムを教えてください2

A1セルに1を入力したときにA5セルにシート2のA10セルの値を入力、A1セルにBを入力したときにはA5セルにシート2のB10セルの値を入力したいのですがどういうプログラムを組めばいいのでしょうか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>入力したときに これを文字通り、即時反応性をやりたいなら、イベントという働きを使う必要があります。 質問の質問振りからして、まだVBAの学習がそこまでいっていないのでは。 あえてやるなら、ChangeイベントをWEB照会して勉強のこと。 これはどのセルの値が変わっても発動するので、この質問の場合は、値が変わったセル(Targetセル)をA1セルの限定する必要あり。 WEBで「Changeイベント」で照会して勉強のこと。 ーー もうひとつ、他シートの値を参照しているが、このコードの書き方も初等のVBAの本には探すのが難しい。 これも背伸びの点だと思う。 WEBで「VBA 他シート参照」で照会し http://okwave.jp/qa/q1575810.html の回答のようなのをよく読むこと。 ーー これなどエクセル関数(数式)を使えば仕舞い A5セルに =IF(A1=1,Sheet2!A10,IF(A1="B",Sheet2!B10,"")) と入れればしまいでは。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

If Range("A1").Value = 1 Then Range("A5").Value = Sheets(2).Range("A10").Value ElseIf Range("A1").Value = "B" Then Range("A5").Value = Sheets(2).Range("B10").Value End If 入力したときと言うことであれば http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html ここを参考に 関数でも再現できることをマクロにする意味が良くわかりませんが?

すると、全ての回答が全文表示されます。

専門家に質問してみよう