• ベストアンサー

EXCEL VBA教えてください

宜しくお願いいたします。 すいません式分からず丸投げでお願いです。 区分選択を作っています A1に答えを求めるブランクセル A2に小型、A3に中型、A3に大型が入っています A2をクリックしたときにA1に小型と表示され 小型が表示されている状態でA3をクリックすると 中型に変わるようにしたいのです。 関数ですと誰かがデリートをクリックして消して しまうのでVBAでお願いします。 何卒よろしくお願いします

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

シートモジュールに以下のコードを貼り付けてください [シートタブ]を右クリックで出るメニューから [コードの表示]を選択したら出てくる真っ白し画面 Private Sub Worksheet_SelectionChange(ByVal Target As Range)   If Intersect(Target, Range("A2:A4")) Is Nothing Then Exit Sub   Range("A1").Value = Target.Value End Sub

その他の回答 (2)

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

質問のしくみが、よくわからない。VBAでやれる思考状態ではない。 >小型が表示されている状態でA3をクリックすると中型に変わる 小型が表示されている状態でA3をクリックすると中型に変わる ようにしたいのです。 A2をクリックするとどうしたいのか。 ーー 例えば、「次の型」というボタンやセルを作って、 (A1セルが)小型――クリックー中型 中型――クリックー大型 大型――クリックー小型 のように推移するものを考えているのか? 3値における、サイクリックやローテイトと言われる仕組かな? ーー こんな部分的なところで、小賢しい仕組みに、VBAも熟達してないとおもうが、なぜこだわるのかな。リストボックスやコンボボックスなどでストレートに、型を選択させては?

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.2

>A2に小型、A3に中型、A3に大型が入っています これは、 A2に小型、A3に中型、A4に大型が入っています ということでいいですね? 続いて、 >A1に小型が表示されている状態で >A3をクリックすると >中型に変わるようにしたいのです。 これは、  A1にA2の値が表示されている状態で  A3をクリックすると  A1の値がA3の値に変わるようにしたい と理解すればいいですか? ならば、  A1にA2の値以外が表示されている状態で  A3をクリックしたときに どのような挙動とすればいいでしょうか? また、 >誰かがデリートをクリックして消して >しまうので この記述は、 A1セルは直接書き換えることができないようにすることを 期待していますか? せっかくVBAで仕込むわけですから 期待する挙動をより厳密に説明し >丸投げでお願い したほうがいいと思います。

関連するQ&A