プチIT化

「このコマンドにはデータソースが2行以上必要です」の対処

こんにちは、わたあめです。今日はExcelマクロのこんなエラーを対処したので、その記事です。

実行時エラー'1004'
このコマンドにはデータソースが2行以上必要です。選択したセル範囲が1行だけの場合は、このコマンドを実行できません。

Excelのマクロ実行時に以下のエラーが発生。[デバッグ]ボタンを押して確認したところ、ピボットテーブルを作成するVBAマクロ処理しているところが問題(黄色くなり引っかかっていた)模様。

それでは、いってみましょう!

原因

ピボットテーブルを作成するためのデータが存在しなかったことが原因です。エラーの内容にあるように、ピボットテーブルを作成するには、データが2行以上必要になります。

マクロ処理でなくても、1行のデータでピボットテーブル作成しようとしたときは、同じ内容のエラーが出ます。ちなみに、エラーの発生の手順は以下です。

  1. 1行のデータを作成する。例えば表のヘッダだけなど。
    商品名価格数量
  2. 上記のようなデータ1行選択する。
  3. [挿入]>[ピボットテーブル]をクリック
  4. [ピボットテーブルの作成]のダイアログが出てくるので、そのまま[OK]ボタンをクリック。

すると「データソースが2行以上必要」という同じ内容のエラーが出ます。

わたあめ
わたあめ
確かに、1行だけでは集計難しいよね…!

以下のような表でもう一度同じ手順でピボットテーブルを作成してみてください。エラーは出ないはずです。

商品名価格数量
りんご1001
ばなな3002

これで複数行必要だということが分かります。

対処

ピボットテーブルの元となるデータを確認してみましょう。

  • 元データが空でないかどうか
  • 元データを作る際、外部のデータからコピーしてくる際に、うまくコピーできておらずに、1行になってしまってないか
  • VBAマクロの場合、元データの範囲指定を間違っていないか

上記のような観点で元データを確認してみてください。いきなりマクロで作成でなくても、事前確認として手動でピボットテーブルを作成してみるのも良いかもしれませんね。

また、ピボットテーブルの更新時にも発生することもあるようです。ピボットテーブル作成後、元データを編集して行をごっそり削除していないかなども併せて確認してみてください。

わたあめ
わたあめ
とにかく元データを良く見てみよう!

さいごに

実行時1004のエラーコードはエラーの内容が多岐にわたりますよね。その後のメッセージに応じて対応が変わってしまいます。エラーは沢山ありますが、ひとつずつ対処方法を見つけていきましょう。

エラー解決は最初ウッとなってしまいますが、絡まった紐を解いていくようにひとつひとつ理解して行こうと思います。またお付き合いくださいね。それでは、また!

flier(フライヤー)