[Excel VBA] 現在のセルの文字列や数値のみをコピーする / クリップボードの値を使って検索する

ググったけどまともな方法がなかったので適当にマクロ書いたメモ

セルの値をコピーしたり、その値を検索するというメンドウな作業があった時に作った。

これにマクロのショートカットを設定してやればサクッと値だけのコピーに使える。

' 現在のセルの文字列や数値のみをコピーする
Sub CopyActiveCellValueToClipboard()
    Dim xDataObject As Object
    Set xDataObject = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

    With xDataObject
        .SetText ActiveCell.Value
        .PutInClipboard
    End With
End Sub
' クリップボードの値を使って検索する
Sub SearchTextByClipboardText()
    Dim xDataObject As Object
    Set xDataObject = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    xDataObject.GetFromClipboard

    Dim xCell As Range
    Set xCell = Cells.Find(What:=xDataObject.GetText, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False)

    If xCell Is Nothing Then
        MsgBox xDataObject.GetText & " が見つかりません。"
    Else
        xCell.Activate
    End If
End Sub
Share