「みんな教えて! 選手権!!」開催のお知らせ

エクセルでセルをダブルクリックしたらそのブックの別のシートに飛び
とんだ先のシートにダブルクリックしたところのセルと同じものを記入する
といったような動作はVBAでは可能でしょうか。
すみませんが教えて頂きたいです
よろしくお願いいたします

A 回答 (4件)

別にマクロの品評会でもありませんが、こんなコードになります。


マクロ禁断のSelect を使った特殊な例です。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Dim sh2 As Worksheet
 If Target.Value = "" Then Exit Sub
 Set sh2 = Worksheets("Sheet2") '目的のシート
 Cancel = True 'これは忘れないこと。おまじない
 Me.Select False
 sh2.Select False
 Target.Select
 Selection.Value = Selection.Value '* 
 Me.Select
End Sub

'数式の場合
 'Selection.FormulaLocal = Selection.FormulaLocal
    • good
    • 0

下記のマクロをSheet1のシートモジュールに張り付けて下さい。


Sheet1の任意のセルをダブルクリックするとSheet2に飛びます。
飛び先は、Sheet2のアクティブセル(最後に選択されていたセル)です。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Sheets("Sheet2").Select
ActiveCell.Value = Target.Value
End Sub
    • good
    • 1

回答が無い様なので。


Sheet1のセルをダブルクリックしたら、Sheet2の同じセルに代入する。
Sheet1のprivate subをして作りこみます。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim Sh1 As Worksheet
Dim Sh2 As Worksheet
Set Sh1 = Worksheets("Sheet1")
Set Sh2 = Worksheets("Sheet2")

行 = Target.Row
列番号 = Target.Column
列 = Split(Cells(Target.Column).Address, "$")(1)

Sheets("Sheet2").Activate 'Sheet2をアクティブ
Sh2.Range(列 & Target.Row).Activate 'Sheet2のセルをアクティブ

Sh2.Range(列 & Target.Row) = Sh1.Range(列 & Target.Row) '代入

End Sub
    • good
    • 0

回答が無いようですので・・・



>~~といったような動作はVBAでは可能でしょうか。
内容がはっきりしないので正確ではないけれど、多分可能だろうと思いますよ。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報