エクセルでクリップボードエラー『別のアプリケーションで使用されて…』の現象と応急対策

クリップボードエラー Edge
記事内に広告が含まれています。

2024年9月現在、1か月程度前からエクセルでコピー&ペーストを繰り返している時にこのようなエラーメッセージが良く出てくるようになりました。

クリップボードエラー
別のアプリケーションで使用されているため、コンテンツをクリップボードにコピーできませんでした。このブック内にコンテンツを貼り付けすることは出来ますが、他のアプリケーションでは使用できません。

Windows11とExcel365またはExcel2023の組み合わせからくる現象のようです。原因をこのように考えている理由は、

  • Windowsを11にバージョンを上げた、Windows11を更新した
  • Windows11でExcelのバージョンを上げた、更新した

などの操作の後この事象が発生しているという情報が多かったことと、

私の方に問合せが来ている例も

  • 組み合わせがWindows11でExcel365または2023のパターンばかり

という現状から考えておそらくこの組み合わせからくる現象なのだと考えています。

今回はこのエラーの再現方法と、今判明している応急対策についてご紹介いたします。

クリップボードエラーを再現させる

体感ですが、何度もコピー&ペーストを繰り返している時にこのエラーをよく見る気がしますので、何度もコピーを繰り返し、狙ってメッセージを表示させることができるかどうかをテストしてみました。

具体的にはセルを選択した状態で「Ctrl」ボタンを押しながら「C」ボタンを連打してみました。

下図のように数式を入れたセルを複数用意してコピーを何度も繰り返してみた。

すると10回~20回くらい連打したところでこのエラーが出ることが多かった。

「クリップボードエラー」のメッセージが出ると何ができなくなるのか

このエラーが表示されたときに本当に貼り付けができないのか、いろいろなパターンを試してみました。

貼り付け先貼り付け可否
同じシート内
同じブック内の別シート
別のブック
ワード×
ブラウザの検索窓×

メッセージに書かれている通り、エクセル上では問題なく貼り付けできるようですが、他のアプリケーションでの貼り付けはできないことが分かりました。(今回の場合はワード及びEdgeとChromeで確認)

それでもExcel以外のアプリケーションに張り付けたい場合

この記事を閲覧している皆さんの端末には「Logi Options+」というマウスのソフトがインストールされていないでしょうか。

このソフトとExcelの相性によってクリップボードエラーが出ているという情報をいただきました。

つまりこのソフトをアンインストールすることによってエラーを解消することが出来ます。

または、裏技的にアプリケーション外でも貼り付けをすることが出来る方法がありますのでそちらをご紹介いたします。

Logi Options+をアンインストールする

「Logi Options+」がインストールされているかどうか確認する

1,Windowsの「スタート」ボタンをクリックし、「すべて」を選択します

2,アプリの一覧の中から「L」の中に「Logi Options+」があることを確認する

もしここで「Logi Options+」が無ければこのソフトはインストールされていないのでアンインストールの必要はありません。

3,「Logi Options+」の上で右クリックし「アンインストール」を選択する

4,インストールされているアプリの一覧が表示されますので、「Logi Options+」の三点リーダーをクリックし、表示された「アンインストール」ボタンをクリックします

5,下図のようなメッセージが表示されますので、「アンインストール」ボタンをクリックします

以上で「Logi Options+」のアンインストールは完了です。

クリップボードエラーが出なくなったことを確認してください。

一旦Excel内に貼り付けオプションで張り付けてみる

次に、「Logi Options+」がインストールされていないのにエラーがでる、場合の応急対処の方法をご説明いたします。

Excel上でコピーをして今回のエラー表示が出ると他のアプリケーションでの貼り付けが出来なくなることが分かっています。

しかし、エクセル上で右クリックで表示されるメニューの「貼り付けのオプション」から貼り付けをした後でブラウザ上で貼り付けをすると貼り付けができるようになっていた

手動でコピーアンドペーストをしている場合はこのような方法で大きな手間もなくエラーの状況を回避することが出来ます。

VBA実行時のクリップボードエラー回避方法

VBA実行中にこのエラーがはっせいするとコードも止まってしまいますし、困ってしまう状況になると思います。

そのような場合は以下の方法で回避することが可能です。

コピー例

例えば「A1」セルの内容を「A2」セルにコピーしたい場合を考えてみます。

クリップボードエラーが発生するコード例

Range(“A1”).Copy
Range(“A2”).Select
ActiveSheet.Paste

こちらですとクリップボードを利用するので、クリップボードが競合してしまうとエラーが発生してしまいます。
そのため以下のようにクリップボードを使わない方法にすることでこのエラーは発生しなくなります。

クリップボードエラーが発生しないコード例

Cells(2, 1) = Cells(1, 1)

このコードを実行してみると

値が複製された

きちんと「A2」セルに「A1」のセルの内容を表示させることができまいた。

こちらのコードは「A2」セルの値を「A1」セルと同じにする、という内容ですのでコピーもペーストもしていません。

そのためVBAの中でコピーアンドペーストを使わずにこの方法だけにすればVBAでエラーが発生してしまう現象を回避することが出来ます。

また、コード自体がシンプルになりますし、実行速度も格段に速くなります。今回のエラー表示とは関係なくとも、VBAのコードの中ではコピペはせずにこちらの方法を使うことを推奨いたします。

まとめ:クリップボードエラーが表示された時の応急対処

「Logi Options+」をアンインストールしない時の応急対処

何度も連続でコピーをしていると20回に1回程度の割合で発生することが分かりました。

貼り付け先がエクセルであれば、エラーメッセージが出ても問題なく貼付けができる

エクセル以外のアプリケーション(ワードやブラウザなど)に貼り付けする場合は

  • もう一度コピーする
  • エクセル上で右クリックから貼り付け

のどちらかをしてからであれば貼り付けができる事を確認しています。

この現象はあくまで他のアプリケーションとクリップボードが競合してしまう事による現象と思われます。
そのため、他のアプリケーションを閉じてExcelだけが起動している状態にすれば競合が起きる確率は減ると思います。
可能であれば、競合するアプリケーションを特定することが近道とは思いますが、ウィルスソフトが競合しているという話もよく聞くので、これは解除するわけにもいかないと思いますので、こちらでご紹介した方法が確実な対策だと考えています。

「Logi Options+」をアンインストールする

「Logi Options+」がインストールされていればこのソフトをアンインストールすることでエラーが出なくなることが分かりました。

どうしてもこのエラーで仕事を前に進めることが出来ない場合などには最終手段としてこの方法を知っておくと便利です。

📢 この記事が役に立ったと感じたら…

リンクやSNSでのシェアで応援していただけると、とても励みになります!

👇ワンクリックでこのページのURLをコピーできます👇

コメント

  1. こんにちは。
    私もVBA実行中にこのメッセージが表示されていて困っています。調べてもこれぞという情報に行き当たりません。
    そこで質問なのですが、以下の部分
    「Windows11とExcel365またはExcel2023の組み合わせからくるバグのようです。」
    の根拠となるドキュメントなりサイトなりがあるようでしたら、教えていただけないでしょうか。

    • ngosiさん
      コメントいただきありがとうございます!
      VBA実行中にこれが発生すると困りますよね、
      「Windows11とExcel365またはExcel2023の組み合わせからくるバグのようです。」の記載の理由は
      Windowsを11にバージョンを上げた、Windows11を更新した
      Windows11でExcelのバージョンを上げた、更新した
      などの操作の後この事象が発生しているという情報が多かったことと、私の方に問合せが来ている例も組み合わせがWindows11でExcel365または2023のパターンばかりだったことです。根拠というか経験則によるものでしたので記事中には詳しく記載していませんでした。
      https://answers.microsoft.com/ja-jp/msoffice/forum/all/%E8%A7%A3%E6%B1%BA%E6%B8%88kb5030310%E9%81%A9/f4d8a31c-f136-4c55-a5b5-b5030e4b497a
      https://answers.microsoft.com/ja-jp/msoffice/forum/all/excel2021%E3%81%A7%E3%82%B3%E3%83%94%E3%83%BC/0ae0f58c-617f-41d8-a133-0fee4a86dcfb

      解決策について
      まずこのエラーはExcel外の他のアプリケーションにペーストしようとした時に発生するエラーです。
      今回VBA実行中とのことですので、貼り付け先はExcelであると想定して回答させていただきます。

      方法1:クリップボードを使わないコピー方法に変更する
         今はコピーアンドペーストの方法がこのようになっているのではないでしょうか
      Range(“A1”).Copy
      Range(“A2”).Select
      ActiveSheet.Paste
      こちらですとクリップボードを利用するので、クリップボードが競合してしまうとエラーが発生してしまいます。
      そのため以下のようにクリップボードを使わない方法にすることでこのエラーは発生しなくなります。
      Cells(2, 1) = Cells(1, 1)

      方法2:競合している他のアプリケーションを閉じる
      この現象はあくまで他のアプリケーションとのクリップボードが競合してしまう事による現象と思われます。
      そのため、他のアプリケーションを閉じてExcelだけが起動している状態にすれば競合が起きる確率は減ると思います。
      可能であれば、競合するアプリケーションを特定することが近道とは思いますが、ウィルスソフトが競合しているという話もよく聞くので、これは解除するわけにもいかないと思いますので、方法1の方が確実な対策だと思います。

      方法3:Excelのバージョンを戻す
         あまり現実的な方法ではないこととやり方を書くと長くなってしまうのでここでは作業方法は割愛いたします。

      以上回答になっておりますでしょうか。
      ご指摘いただいた内容により今後記事を修正させていただきます!
      ありがとうございました。

  2. 店長さん
    ご回答ありがとうございます。

    私の方で動かしているマクロでは、セルへのコピーはCells(1,1)へ値をセットしています。
    Copyはシートコピーをしています。
    Copyでシートコピーをしない手段を探してみます。

    リンクも貼っていただきありがとうございます。
    バージョン等いろいろ試しているようですので、こちらの環境と見比べてみます。

    ありがとうございました。

  3. エクセルマクロ、クリップボードエラーで検索してたどり着きました。
    今回は参考にはなりませんでしたが、自己解決できたので残しておきます。

    私の場合は、いままでの古い環境(Intel8世代i5 CPU & Win10 & Excel 2019)から新しい環境(Intel Evo i7 & Win11 & Excel 365)に変わった際に同じファイルでマクロを実行した際に途中でクリップボードエラーが発生し、さらにしばらくして止まってしまいました。

    調べたところ、sheets.selectを実行した後のsheets.Range.pastespecialで止まっていました。
    解決方法ですが、sheets.selectを実行した後にウェイト(一例として、Application.Wait Now() + TimeValue(“00:00:01”)など)を入れて次の動作を待った後に、ペースト動作を実行するようにしたところ、改善しました。

    以上のことから、シートの切り替え操作を行った時は、現行の高速になったPCだとスクリプト処理が早すぎて次の実動作がスクリプトの命令に対して付いてきていないようでした。

    • コメントありがとうございます!
      詳細なご報告、とても参考になりました。

      ご経験の通り、環境によって動作が変わってくることもありますよね。
      ひとつ補足させていただくと、今回のような「クリップボードエラー」は、ペーストのタイミングではなく、実は .Copy を実行したときに発生しているんです。
      しかもこのとき、マクロ自体はエラーとして止まらないため、見た目には気づきにくいのが厄介なんですよね。

      おそらくコピーが正しく行われず、その後の .Paste が実行されても中身が無くて止まってしまった、という流れだったのではないかと考えられます。

      ちなみに .Copy や .Paste を使わずに、
      Cells(2, 1).Value = Cells(1, 1).Value
      のように直接値を代入する方法であれば、クリップボードを使わずに済むため、このエラーを回避できます。

      ご報告いただいたように、環境の違いによる挙動の変化は大事な気づきですね。共有いただき本当にありがとうございました!

タイトルとurlをコピーしました