皆さんは、VBAでクリップボードをクリアする方法を知っていますか?コピペ処理を作るときに便利なクリップボードですが、取得・設定だけでなくクリア方法を覚えておくと便利です!
そこで今回は、
- クリップボードのクリア方法
- クリップボードをクリアするサンプルコード
- 【補足】クリップボードの設定・値取得方法
といった基礎的なことから、応用的な方法まで、徹底的に解説します!
クリップボードのクリア方法
はじめに、クリップボードのクリア方法について解説します。
次のように書くことで、クリップボードをクリアすることができます。
使い方:
Application.CutCopyMode = False
とても簡単ですよね。
コピーした後必ずこの処理を入れることで、クリップボードをクリアすることができるので、覚えておくと便利です!
サンプルコード
次に、サンプルコードをもとに、具体的な使い方を解説します。
※クリップボードをまだ使ったことがない方は、事前に参照設定を追加する必要があります。設定していない方は以下記事を最初に見てみてくださいね!
サンプルコード:
Sub Test1() Dim cbData As New DataObject Dim cbFormat As Variant 'セルの値(侍エンジニア)をコピーしてクリップボードに保存 ActiveSheet.Range("A1").Copy 'クリップボードからDataObjectにデータを取得する cbData.GetFromClipboard 'DataObjectのメッセージを表示 MsgBox cbData.GetText 'クリップボードにコピーした内容をクリアする Application.CutCopyMode = False End Sub
「ActiveSheet.Range(“A1”).Copy」でA1セルの値をコピーし、「cbData.GetFromClipboard」でデータをDataObject関数にクリップボードから取得した値を入れた後、「MsgBox cbData.GetText」でクリップボードの値をメッセージに表示しています。
その後、最後に「Application.CutCopyMode = False」と書くことで、コピーした内容をクリップボードからクリアしています。
このように、クリップボードを操作した後は、クリアする処理を入れておくのがおすすめです!
【補足】クリップボードの設定・値取得方法
ここまでクリップボードのクリアについて解説してきましたが、サンプルでも解説したように、クリップボードの操作と合わせて使うケースが多いです。
そのため、クリップボードの設定・取得方法をあわせて覚えておくのがおすすめです!
以下で詳しく解説しているので、気になる方は見てみてくださいね!
まとめ
今回は、クリップボードをクリアする方法について解説しました。Excelのデータをコピーして、別シートに貼り付けるようなコピペ処理でクリップボード操作はよく使います。
使い方も簡単なので、ぜひ使ってみてくださいね!