すぐに役立つエクセルVBAマクロ集 すぐマク
すぐに役立つ Excel VBA マクロ集 Excel VBA Macro
FAQ
Google
 
Home |  What's New! |  Gallery |  Introduction |  Service |  Profile 500連発・組み方講座フォロー Big Color Pallet
[広告]
Excel VBA Macro
Excel DownLoad
© 1997 - 2007
永井善王.
All RightsReserved.
HappyTech & Co., Ltd.
www.happy500z.com
Excel VBA Macro ・ フロー制御等 ・ FAQ
一定のセルが選択されたときにそのセルの値をコピーするには?
Question 85.3 Previous Next
シート1にあるデータ (E1〜E30 と G1〜G30) のデータを A1にコピーしたいのですが、
選択したセル (
E8) を選んだときは E8だけを A1に、
また、
G15をクリックしたときには G15のデータを A1にコピーする というマクロ? を教えてください。
Answer   Copyright (C) 2007.11.5 永井善王
E8 とか G15 というのは例示で、E1〜E30 と G1〜G30 の中のどれかのセルが選択されたらということで良いですね。

例えば左図の場合、E8セルがクリックされたので E8セルに入っている値の "E8" が A1セルへ コピーされました。
これがもし、G1セルがクリックされたなら、G1セルに入っている値の "G1" が A1セルへ コピーされることになります。

ユーザーがセルを選択する場合は、マウスまたはポインタデバイスでセルをクリックするか、矢印キーを操作して行います。
すると、Worksheet_SelectionChangeイベントが発生するので、そのイベントプロシージャにマクロを作成しておけば、必要な処理を行わせることが可能になります。

下記マクロを Sheet1のコード画面 (右図参照) で作成し、試してみてください。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    行 = Target.Row
    列 = Target.Column
    If (列 = 5 Or 列 = 7) And 行 <= 30 Then
        Range("A1").Value = Range(Target.Address).Value
    End If
End Sub
Click here to visit our sponsor