複数シートのEXCEL作成方法
複数のワークシートのEXCELブックの作成を行おうとしていますが、うまくいきません。どなたかご教示をお願いします。(長文ご容赦ください)
元データ
地区コード・得意先コード・1日売上数・2日売上数……30日売上数・31日売上数・1日売上額・2日売上額……30日売上額・31日売上額
作りたいEXCELブック


セルF1にタイトル、セルL1に地区名
セルB2には1番目の得意先名、セルD2に2番目の得意先名…
B・D・F……P……R列は売上数、C・E・G……S列は売上額です。
行34にはsum関数で月計を計算するようにしています。R列・S列にも計算式を入れて横計を計算させています。
Sheet1~Sheet10は同じ様式です。
Sheet1に地区コード=1のデータを、Sheet2に地区コード=2のデータを書き出すイメージです。
タスク前処理で
原本のXLSファイルを指定した名前のファイルにコピーします。
Method Application.WorkBooks.Open でOLE変数 WorkBook に格納します。
地区コードのグループ前処理で
Set WorkSheet.Name で 'Sheet'<rim(str(地区コード,'#2Z')) をワークシート名としてセット。
Method WorkSheet.Activate でワークシートをアクティブ化。
Get Application.ActiveSheet で OLE変数 WorkSheet にアクティブなワークシート参照を取得。
レコード後処理で
1日~31日の日別の一次配列に売上数・売上額をVecSetします。
地区コードグループ後処理で
二次配列にレコード後処理で更新した日別一次配列をセットします。
Get WorkSheet.range B3:O33 でWorkSheetの値をOLE変数 Range に取得します。
Set Range.Value でRangeにレコード後処理で更新した二次配列を格納します。
このような流れで処理しているのですが、結果としてWorkSheet1に最後の地区が書き込まれている状態です。
WorkSheet2~10は何ら変更されていません。
(他にも不具合は多々あるのですがここでは割愛させてもらいます。)
WorkSheetを切り替えて書き込む為には、何か他に処理が必要なのでしょうか。
どなたかご教示をお願いします。
-
ISHIJIMAさん ありがとうございます。
出来ました。
未だ色々と不具合はありますが、複数シートの出力が出来ました。
本当にありがとうございました。
サインインしてコメントを残してください。
コメント
1件のコメント