|
|
| Excel VBA Macro ・ フロー制御等 ・ FAQ |
|
一定のセルが選択されたときにそのセルの値をコピーするには?
|
|
|
|
Question 85.3 |
|
 |
 |
|
|
シート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
|
|
|
|
| |
|
|