Excelでデフォルトを値のみ貼り付けにする

クリップボードとのデータのやり取りです。

Excelでコピペする際、[ctrl] + V で値のみ貼り付けできるようにします。

Excel以外のテキストをコピーしてExcelに張り付ける際に便利です。


Sub 値のみ貼り付け()
'
    Dim cbCopy As Variant 'コピーした値

    Dim clipOjt As New DataObject

    '

    cbCopy = ""

    '

    With clipOjt

        .GetFromClipboard 'クリップボードからデータオブジェクトへ値を渡す

        cbCopy = .GetText 'データオブジェクトのデータを変数に入れる

    End With

    '

    ActiveCell = cbCopy '選択したセルに値を入れる

'

End Sub


上記のマクロを作成し、そのマクロを [ctrl] + V に登録します。


また、上記のマクロはコンパイルする際に以下のエラーメッセージが発生しコンパイルできないことがあります。

その場合は参照設定からMicrosoft Forms 2.0 Object Libraryにチェックをつけることで解決します。


【手順1】

VBE(エディタ)の ツール>参照設定 で、Microsoft Forms 2.0 Object Libraryにチェックがついているか確認します(下図はチェックがついていない場合のものです)。

※既にチェックがついている場合は、Microsoft Forms 16.0 Object Libraryの下に2.0がある場合が多いので、さっと確認して見当たらなければ【手順2】に進んでください。


【手順2】

プロジェクトエクスプローラの最上位、VBAProjectを右クリックして、「挿入」から「ユーザーフォーム」を追加します。

フォーム画面が表示されますが、気にせず標準モジュールに戻ります。

ここでの目的は「ユーザーフォーム」を追加することのみです。


【手順3】

再度VBE(エディタ)の ツール>参照設定 を開き、Microsoft Forms 2.0 Object Libraryにチェックをつけます。

これでコンパイルできるようになります。


以上です。

業務tips保管庫

ちょっとした工夫で日々の業務を少しだけ楽にする。

0コメント

  • 1000 / 1000