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

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

この記事を書いた人

北海道出身の30歳で、フリーランスエンジニア兼テックライターとして活動中。新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。

Webアプリ、業務アプリ開発において、要件定義 ~ 運用保守まで様々な経験あり。また3歳の娘がいる1児のパパで、日々娘との時間を確保するために仕事を頑張っています!
侍エンジニアでは、【誰でもわかるレベルのわかりやすさ】を意識して、記事を執筆中。

目次