【ExcelVBA】クリップボードからコピーデータをクリアする方法とは?

皆さんは、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のデータをコピーして、別シートに貼り付けるようなコピペ処理でクリップボード操作はよく使います。

使い方も簡単なので、ぜひ使ってみてくださいね!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次