本文へスキップ

別館:エクセルQC館 別館:エクセル株式館

  1. トップページ>
  2. Tips>
  3. Excel2013、実行時エラー1004データを貼り付けできませんの原因

Tipstips

備忘録として、主にパソコン関係のTipsを記載して行きます。


新着情報
@UiPath、メモ
AOffice365、Excel:VBAで画面更新がチラツク時の対策
BOffice365、Excel:勝手に手動計算になる原因
COffice365、Excel:フィルターで3つ以上の条件にする方法
DOffice365、Excel:シート同士の違いを見つける方法

Excel2013、実行時エラー1004データを貼り付けできませんの原因

Excel2013は、手頃な価格で高機能な表計算ソフトです。
またVBAによるプログラムを行うと、特に繰り返し作業では多大な威力を発揮します。

しかし、Excel2013の棒グラフにVBAで画像を貼り付けるプログラムを作成していた所、
「実行時エラー1004データを貼り付けできません」のエラーが発生しマクロが停止しました。
そこで原因究明と対策実施を検討しました。
パソコンは、下記のソフトを使用していました。

OS       : Windows8.1(32bit)
表計算ソフト   : Excel2013(32bit)
ランチャーソフト : ArtTips Ver 7.90(32bit)

以下、Excel2013、実行時エラー1004データを貼り付けできませんの原因と対策を記載して行き
ます。

(項目1)
 ・Excel2013の棒グラフに、VBAで画像を貼り付けるプログラムを作成していた所、
  「実行時エラー1004データを貼り付けできません」のエラーが発生しマクロが停止しました。
  

(項目2)
 ・デバッグを押すと、ActiveSheet.Pictures.Paste.Selectの箇所で止まっていました。
 

(項目3)
 ・VBAでコピペ命令を使用しているので、ArtTipsとの相性が考えられました。
 ・そこで、ArtTipsを終了してVBAを実行すると、正常に作動しました。
 ・本ページでは、ArtTipsを起動したままで、VBAが正常に作動するプログラムを検討しました。

(項目4)
 ・DoEventsを使用すると、VBAの動作が安定する場合が有ります。
 ・今回は、DoEventsを1回では足らず、100回使いました。
 ・DoEvents100回で動作は安定しましたが、画像の貼り付けが完全では有りませんでした。
 ・下記の画像の様に、棒の上の部分が良くないです。
   

(項目5)
 ・VBAを種々検討した結果、Selection.Copy → Selection.CopyPicture に変更すると、
  画像が正常に貼り付ける事が分かりました。
  

(項目6)
 ・VBAコードは、以下の通りです。
 (対策前)
  '画像変更
  For j = 1 To 5

    Range("A" & j * 2).Select
    Selection.Copy

    Range("C" & j * 2).Select
    ActiveSheet.Pictures.Paste.Select

    ActiveSheet.ChartObjects("グラフ 1").Activate
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection(1).Points(j).Select
    ActiveChart.SeriesCollection(1).Points(j).Paste

  Next j

 (対策後)
  '画像変更
  For j = 1 To 5

    Range("A" & j * 2).Select
    Selection.CopyPicture

    Range("C" & j * 2).Select
    For k = 1 To 100
      DoEvents
    Next k
    ActiveSheet.Pictures.Paste.Select

    ActiveSheet.ChartObjects("グラフ 1").Activate
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection(1).Points(j).Select
    ActiveChart.SeriesCollection(1).Points(j).Paste

  Next j

(項目7)
 ・以上で、Excel2013、実行時エラー1004データを貼り付けできませんの原因と対策は終了です。
 ・VBAでコピペ命令とArtTipsの相性が原因でした。
 ・対策は、DoEvents100回+Selection.CopyPictureです。



contents

エクセル将棋館

日本国

地方都市


スポンサード リンク