Excel 外部データの取り込み マクロ記録 CommandTypeのエラー
先日、自社の実績表をExcelで作成した際に、はまったので書きます。
今回、自社の廃棄物収集運搬実績表を作成したいと思いました。
紙マニフェストのデータは会社のPCに、電子マニフェストのデータはJWNETの加入者サポートよりCSV形式でダウンロードします。
今まで、それぞれのデータは2枚の別表になっていましたが、2つのデータをまとめ、一枚の実績表を作成することにしました。
Excel(Excel2013)であらかじめ作成してある実績表に、JWNETよりダウンロードした電子マニフェストのCSV形式のデータを"外部データの取り込み"にて取り込み、結果を合計します。
毎回作業が面倒なので、手順を"マクロの記録"にて記録し、ボタンに割り当てることにしました。
表の作成作業開始です。
"データ"→"外部データの取り込み"→"テキストファイル"と進み、取り込みたいCSVファイルと展開する位置を設定します。
外部データが無事に取り込める事を確認し、手順を"マクロの記録"に記録しボタンに割り当てました。
そして、実行です。
しかし、ボタンを押すとマクロが途中で止まりエラーとなります。
マクロではなく手動では大丈夫だったのに、マクロを動かすとエラーになります。
どうして。。。
マクロのエラーは次の位置です。
デバックにて、VBAのエディタ?を見てみると、".CommandType = 0" という所で止まっています。
CommandType ってなに?。
私には、"マクロの記録"は出来ますが、VBAは全くの素人でちんぷんかんぷんです。
ExcelのVBAが分かる人には、簡単なことかもしれませんが、近くに聞く人もおらず、
なじょしたらいいの? 状態です。
検索をかけてExcelのVBA外部データの取り込みを調べてみました。
Nameとか、FiledNamesの説明はあるのに、CommandTypeは無い。
試しに、この行を削除してマクロから実行してみると、
エラーも無くしっかり取り込みが出来ました。
結論
Excel2013にて、外部データの取り込みを"マクロの記録"を使って手順を記録し、マクロを作成すると、実行時にCommandTypeの行でエラーとなる。
CommandTypeの行は、良く解らないが削除するとマクロを実行できるようになる。
(あくまでも自己責任で)
「教えてgoo」
返信削除https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13131911928
にもこの行を削除するといいとあります。
VBAシステム自体のバグらしいです。
匿名さん、ありがとうございます。
削除助かりました。削除したらすんなり走りました。ありがとうございます。
返信削除