エクセルのマクロの不具合について教えてください。
各月の売上明細シート(1月、2月、3月・・・と全部で12枚のシートがある)を、年間の売上明細シートに縦に転記するだけの簡単なマクロです。エクセルの「マクロの記録」機能を使って、一枚ずつ各月の売上明細シートを開いてコピー、年間の売上明細シートに貼り付けを繰り返すだけです。
(1月の情報の続きに2月の情報を転記する・・・完成図は1月から12月の売上明細がずらっと転記される。)
マクロ作成後、何回かはマクロを実行するとうまくいくのですが、たまに4月だけ転記されない、6月だけ転記されないといったようなことが起こります(転記されない月のデータは空白のまま)。
この原因は何でしょうか。教えてください。
<(例)12月の売上明細シート>
日付 商品 売上
12月3日 バナナ 30
12月5日 バナナ 300
12月6日 りんご 400
12月7日 みかん 30
12月8日 みかん 80
12月9日 りんご 110
12月10日 みかん 90
12月11日 バナナ 10
12月12日 りんご 190
12月13日 みかん 330
12月14日 みかん 60
12月15日 バナナ 100
12月16日 みかん 50
12月17日 りんご 100
12月18日 みかん 110
12月19日 みかん 50
12月20日 りんご 50
12月21日 みかん 100
12月22日 バナナ 50
12月23日 りんご 50
12月23日 りんご 100
12月23日 みかん 60
12月23日 バナナ 50
12月23日 みかん 300
(エクセル2016、WIN10を使用。話を簡略化するためにシンプルな例にしました。)
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
オートフィルターでないなら、次に考えられるのは変数の初期化し忘れです。
1~12月のシートからコピーしてくる時にFor文でループしていませんか?
ループ内で変数を使用しているとき、誤って前のシートの値を使用していることは考えられませんか?
マクロの記録ボタンで作成してるので。それとマクロ実行してもうまくいくときがほとんどです。プログラムミスだと初回から全て間違った結果になるのではないでしょうか。
No.1
- 回答日時:
VBAを見ないと分かりません。
ぱっと思いつくのは、
マクロ実行時に転記されないシート上でオートフィルタを使って絞り込みをかけたり、
行の非表示をしてたりしませんか?
プログラムの書き方次第ですが、絞り込みや非表示行がある状態で最終行を求めるプログラムを実行すると正しく最終行が取得できないことがあります。
早速のご回答ありがとうございます!!!
本当は毎日追加される各月の売上明細シートから指定した日の明細だけを取り出すマクロを作りたかったのですが、よくわからないので、すべてをいったん一枚のシート「年間の売上明細シート」に転記して、オートフィルターで指定した日の売上明細を拾うようにしました。結果、おっしゃる通りオートフィルターは使用します。
マクロ実行時には、「クリアするマクロ」で「年間の売上明細シート」の情報をいったんすべて削除して、オートフィルターも元に戻した状態にしてから、「各月の売上明細シートを転記する」マクロを実行していますが、、、
なんらかのミスで、オートフィルターにしたまま実行したがために、不具合につながったのかもしれませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- その他(エンターテインメント・スポーツ) ニートは、過去へ戻るしかないですよね? 1 2023/02/19 22:06
- Excel(エクセル) Excelについて 1 2023/03/06 10:26
- Excel(エクセル) 添付写真上のExcelシートのように時間と曜日ごとに担当者が振り分けられているシートがあります。 例 1 2023/03/08 13:02
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- その他(悩み相談・人生相談) 自閉症は、自閉症同士でしか仕事しちゃいけませんか? 1 2023/02/09 18:27
- その他(エンターテインメント・スポーツ) 2007年の想い出はありますか? 1 2023/03/03 20:54
- Visual Basic(VBA) Excel VBAの書き方 1 2022/03/28 12:09
- その他(エンターテインメント・スポーツ) 15年前って、昔ですか?それともわりと最近? 2 2023/02/07 22:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
エクセルを開いたとき常に同じ...
-
マクロを複数シートに実行する...
-
EXCELでマクロを使わずに図形の...
-
エクセルでシートの並び替えで...
-
EXCELのエラー
-
マクロを特定の複数シートで実...
-
【 Excel】シートの見出しに自...
-
EXCELでワークシートを開いたら...
-
シートを保護した時でも並べ替...
-
エクセルで複数のSheetを一括フ...
-
エクセルの複数のワークシート...
-
EXCELの起動時に常に同じ...
-
エクセルで回数をカウントする...
-
マクロで複数シートに条件付き...
-
VBA シート名を先月の名前に...
-
Excelで,特定のシートを開いた...
-
左隣のシートをコピーして挿入
-
Excelのマクロの呼び出し元を知...
-
マクロ 各シートの決められた位...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
EXCELでワークシートを開いたら...
-
エクセルを開いたとき常に同じ...
-
VBAで条件によってシート見出し...
-
EXCELでマクロを使わずに図形の...
-
マクロを特定の複数シートで実...
-
エクセルでシートの並び替えで...
-
エクセルの複数のワークシート...
-
複数シートの保護・解除
-
エクセルで複数のSheetを一括フ...
-
エクセルで回数をカウントする...
-
EXCELのエラー
-
Excel:複数シートから条件に合...
-
VBA シート名を先月の名前に...
-
EXCELの起動時に常に同じ...
-
Excelで,特定のシートを開いた...
-
Excelのマクロの呼び出し元を知...
-
メッセージボックスでシート名...
おすすめ情報