pgbigorokuのブログ

プログラムの再利用できそうなコードをアップ

EXCEL VBA セルをダブルクリックした時に、データをクリップボードにコピーする。

EXCELシートにデータ貼り付け後
下記のソースコードをマクロのワークシートにコピーします。

Option Explicit

'セルをダブルクリックした時に、データをクリップボードにコピーする。
'
' version 2022/8/21
' URL https://pgbigoroku.hatenablog.com/entry/2022/08/21/230133
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim lngTargetRow As Long
    Dim intTargetCol As Integer
    Dim strTarget As String
    Dim shtActive As Worksheet
    lngTargetRow = Target.Rows.Row
    intTargetCol = Target.Columns.Column
    strTarget = Cells(lngTargetRow, intTargetCol).Value
    Set shtActive = ActiveSheet

    'ここから本文
        Call nsubToClipbord(strTarget)
        Dim dblShade As Double
        
        With Selection.Interior
            If CSng(Selection.Interior.TintAndShade) = CSng(-0.34995574816126) Then
               .TintAndShade = 0
            Else
                .ThemeColor = xlThemeColorDark1
                .TintAndShade = -0.34995574816126
            End If
        End With
        
    'ここまで本文
End Sub

'
' クリップボードへ文字をコピー。
'
'ByVal pstr文字列 As String クリップボードへ文字をコピーする文字
'
' URL https://pgbigoroku.hatenablog.com/entry/2022/08/19/002040
'2022/8/18
Public Sub nsubToClipbord(ByVal pstr文字列 As String)
    With CreateObject("Forms.TextBox.1")
        .MultiLine = True
        .Text = pstr文字列
        .SelStart = 0
        .SelLength = .TextLength
        .Copy
    End With
End Sub