nKB

nKB

シンプルにいこうよ

Excel セルの値をダブルクリックでコピーする方法

流れ

1.「Microsoft Forms 2.0 Object Library」を使えるようにする
2.ダブルクリックした際にセルの値をクリップボードにコピーするVBAを書く

詳細

1.「Microsoft Forms 2.0 Object Library」を使えるようにする
VBAエディタ(Visual Basic for Applications)を開く
メニュー ツール > 参照設定
参照可能なライブラリファイル 欄で「Microsoft Forms 2.0 Object Library」にチェックを入れ、OK を押す。

※「Microsoft Forms 2.0 Object Library」がない場合
参照ボタンをクリック。下記のDLLファイルを開く
"C:\Windows\System32\fm20.dll"

2.ダブルクリックした際にセルの値をクリップボードにコピーするVBAを書く

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

    Dim buf As String
    Dim buf2 As String
    Dim clipboard As New DataObject

    buf = Selection.Value

    With clipboard
        .SetText buf
        .PutInClipboard
        .GetFromClipboard
        buf2 = .GetText
    End With
    
    MsgBox "セルの値をコピーしました"

End Sub

※セル結合しているとエラーになる。セルの選択の指定を変えると回避できる
※セルの値が関数だとエラーになる。保護すると回避できる

【参考】 Office TANAKA - Excel VBA Tips[クリップボードを操作する(1)]

-EOF-