重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【6/2終了】教えて!gooアプリ版

スプレッドシートについて、カーソルをあてているセルを、別のセルに表示させる方法がありましたら教えてください。
VBA使用するのがわかるのですがよくわからなくて、、、


例)セルA1に「りんご」セルA2に「みかん」セルA3に「スイカ」と文字を入力しておき、

A1にカーソルをあてたときは、セルC3に「りんご」と表示され、
A2にカーソルをあてたときは、セルC3に「みかん」と表示され、
A3にカーソルをあてたときは、セルC3に「スイカ」と表示される。

このようなことは可能でしょうか。
可能であれば、その方法を教えてください。

また、指定したシート内で行いたいです。


VBAの組み方を教えてください。

よろしくお願いします。

A 回答 (2件)

これは、あくまでも、「カーソルをあてる」と書かれてあったAction(行動)に対するイベントです。

クリックする(タップする)、右クリツクする、ダブルクリックする、それぞれにイベント(マクロを起動させる反応)存在しています。

アクティブX コントロールを使用します。

それぞれのセルの中にラベル(Active X コントロール)を置きます。ボーダーラインはナシにしてください。それを、A1, A2, A3 とそれぞれに埋め込みます。

右クリックでプロパティを出して、
Caption の右隣をクリックすると書き込めるはずですから、りんご、Label2->みかん、
Label3->スイカと入れます。

ひとつのコントロールをダブルクリックすると、VBEditor が現れますから、以下のようなコードを置きます。

Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Range("C3").Value = Me.Label1.Caption
End Sub
Private Sub Label2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Range("C3").Value = Me.Label2.Caption
End Sub
Private Sub Label3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Range("C3").Value = Me.Label3.Caption
End Sub

貼り付けたら、元のシートのデザインモードを外して出来上がります。
もっと数が多い場合は、Class 設定をします。
セルとコントロールと共有したい場合は、イメージコントロールを利用します。反応が鈍くはなりますが、辛うじて動くかと思います。
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございます。無事参照する事ができました。

本当にありがとうございました。

お礼日時:2018/03/24 06:18

こんばんは。



1.Sheet1のタブを右クリックして「コードの表示」をクリックします。

2.コードの表示欄の上のプルダウンのところで、「Worksheet」「SelectionChange」を選択します。

3.そうすると、コード入力欄に下記が表示されます。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

4.この中に、下記を追加します。
Select Case Target.Address
Case "$A$1":
Range("C3").Value = Range("A1").Value
Case "$A$2":
Range("C3").Value = Range("A2").Value
Case "$A$3":
Range("C3").Value = Range("A3").Value
End Select

※Worksheet_SelectionChange()は、選択範囲を変更した時に実行されます。
「カーソルをあてているセルを、別のセルに表」の回答画像1
    • good
    • 1
この回答へのお礼

こんなにご丁寧に教えて頂き本当にありがとうございます。

感謝します。

お礼日時:2018/03/24 06:22

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