プロが教える店舗&オフィスのセキュリティ対策術

例えば、A1にテレビ、B1にラジオ、C1にカセットと有った場合に、A1をクリックしたらA3にテレビと表示され、B1をクリックしたらA3にラジオと表示され、C1をクリックしたらA3にカセットと表示するようにしたいのですが・・
どなたか、教えていただけないでしょか?
宜しくお願いいたします。

A 回答 (2件)

これは関数では出来ません。

アクチブになったセルを捉えるのは、関数では出来ないのです。簡単に考えないで。
VBAそれもイベントプロセジュアと言うものをわからないといけません。
ワークシートでALTを押しつつF11を押す。
今アクチブを問題にしているSheet名をダブルクリック。
コードウインドウの上の「General」の▼をクリックして「Worksheet」、「Declarations」の▼をクリックして「SelectionChange」を選ぶと
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
が出る。
間の行に
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(3, "A") = ActiveCell
End Sub
これではどのセルをクリックしてもA3にその値がセットされるので、A1,B1,C1に限定するなら
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Or Target.Address = "$B$1" Or Target.Address = "$C$1" Then
Cells(3, "A") = ActiveCell
End If
End Sub
    • good
    • 0
この回答へのお礼

お礼遅れて申し訳ありませんでした。
実は、VBA詳しくなく、教えていただいてずっとやっていたのですが、やっとある程度の動きが出来るようになりました。
有難うございました。

お礼日時:2004/09/27 12:43

 こういうことでしょうか。



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Range("A3").Value = Target.Value
End Sub

 プロシージャは標準モジュールではなく,ワークシートのモジュールに記述してくださいね。
 コードはExcel2003で動作確認済みです。

 質問する際はExcelのバージョンを書いておかないと有効な回答が得られにくいと思うので,次回からは明記しておくことをお勧めします。
    • good
    • 0

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