クリップボードとのデータのやり取りです。
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にチェックをつけます。
これでコンパイルできるようになります。
以上です。
0コメント