- ベストアンサー
エクセル初心者です。アクティブセルの値を特定のセルに入れることができますか。
エクセルで、「あるセルをアクティブにすると同時に、そのセルの値(文字列)を特定のセル(たとえばA1)に入れる」ということができますか。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
何度もすみません、コピペが変になりました。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Selection.Address = "$1:$65536" Then Exit Sub If Target.Address <> "$A$1" Then Range("A1") = Target.Value End Sub
その他の回答 (5)
- merlionXX
- ベストアンサー率48% (1930/4007)
No2、No4です。 ちょっと変えてみました。 前のでは全セルを選択するとフリーズしてしまうようです。 これを防ぐようにしました。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Selection.Address = "$1:$65536" Then Exit Sub 'If Target.Address <> "$A$1" Then Range("A1") = Target.Value End Sub
- merlionXX
- ベストアンサー率48% (1930/4007)
> あるセルが不特定の場合はどうすればよいのでしょうか。 No2です。 では、A1以外の全てのセルを対象とした場合です。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Then Exit Sub Else Range("A1") = Target.Value End If End Sub
お礼
再度 ありがとうございます。完璧です。もうしぶんない内容です。 自分の勉強のいたらなさを思い知らされました。今後ともよろしくお願いします。
- imogasi
- ベストアンサー率27% (4737/17069)
>あるセルが不特定の場合はどうすればよいのでしょうか 下記はB列に限定している例です。(シートのどのセルでもクリックすると変わるのも、実際の二ーズがないと思って。行の制限にすぐ変えられます) Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 2 Then Range("A1") = ActiveCell End If End Sub
お礼
ありがとうございました。なんとか解決しました。
- merlionXX
- ベストアンサー率48% (1930/4007)
> あるセルをアクティブ 仮に「あるセル」をB2とした場合。シートのモジュールに以下をコピペしてみてください。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address <> "$B$2" Then Exit Sub Else Range("A1") = Target.Value End If End Sub
お礼
ありがとうございます。勉強になります。
補足
あるセルが不特定の場合はどうすればよいのでしょうか。
- imogasi
- ベストアンサー率27% (4737/17069)
初心者ということであれば、関数での回答を期待するということになると思いますが、アクチブセルの値をとることは、関数ではできません。 =ACTIVECELL(Sheet1)といったものがありません。 VBAというプログラムをくみ、イベント(セル選択したやセル値を変えたというような動作のきっかけ)プロシージュアというものを使えば、それらしきものはできますが、勉強するつもりありますか。
お礼
ありがとうございました。VBAについて勉強しはじめたところです。今後ともよろしくお願いします。
お礼
ありがとうございます。いろいろ勉強になります。今後もよろしくお願いします。