| 
    
     |  | コメントを殆ど削除してしまったので、何をやって居るのか解らないと思いますので? 
 まず以下は、パラメタの部分で適当に変更して下さい
 
 'List1の各緒言
 '◆List1のデータ列数(A列〜AG列)
 Const clngColumns As Long = 33
 '◆「1係」の列位置を指定(基準セル位置からの列Offset:基準がA1で「1係」がD列なら3)
 Const clngBegin As Long = 3
 '◆「日付」の列位置を指定(基準セル位置からの列Offset:基準がA1で「日付」がA列なら0)
 Const clngDate As Long = 0
 '◆「店舗」の列位置を指定(基準セル位置からの列Offset:基準がA1で「店舗」がB列なら1)
 Const clngStores As Long = 1
 '◆「項目」の列位置を指定(基準セル位置からの列Offset:基準がA1で「項目」がC列なら2)
 Const clngItem As Long = 2
 
 '出力シートの各緒言
 '◆出力基準位置を指定
 Const cstrResult As String = "A3"
 '◆先頭「01係」の行位置(上記の基準からの行Offset)
 Const clngNo As Long = 3
 '◆売上集計表と差益集計表の上下ピッチ
 Const clngBlock As Long = 163
 
 '◆Listの先頭セル位置を基準とする(列見出し「日付」のセル位置)
 Set rngList = Worksheets("List1").Cells(1, "A")
 
 '◆出力表の行見出しを設定
 vntTitle(0) = Array("年実績", "前年比", _
 "達成率", "年実績", "年目標")
 vntTitle(1) = Array("年差益", "前年比", _
 "達成率", "年差益", "年目標")
 
 '◆抽出条件を設定
 vntCriteria(0) = Array("売上", "売上", "売上目標")
 vntCriteria(1) = Array("差益", "差益", "差益目標")
 
 次に、コードが行っている手順を簡単に説明して置きます
 
 1、上記の種々の緒言設定を行っています
 2、「With rngList」以下で、List1の各種のデータを集めます
 データListのデータ行数取得
 「店舗」全ての名称を取得(無重複で)
 「係」の列見出しを取得(作表時に行見出しを作成するのに使用)
 Listの最大の(最終の)日付を取得(この日付から、当年度の年を決めています)
 3、「With Application」以下で、'画面更新の停止、再計算を手動へ(再計算の停止)を
 行っています
 4、出力シート(各店舗名の付いたシート)を探し、有ればセルを全てクリアし
 無ければ、シートを追加して、シート名を店舗名に変更しています
 5、「With Worksheets」以下で、作業用のシートを追加しています
 このシートに、AdvancedFilter(フィルタオプション)で必要データを抽出して行きます
 6、追加したシートに、List1の列見出し(抽出範囲)、店舗、項目、日付(2列)を抽出条件範囲
 として、転記します
 7、「For i = 0 To UBound(vntStores)」で店舗分のLoopを行います
 8、上記iで指定された店舗名を抽出条件範囲に書き込みます
 9、「For j = 0 To 1」のLoopで、売上集計と差益集計で2度回しています
 10、結果出力用の配列を確保します(売上集計と差益集計で新規の配列を使う為)
 11、「For k = 0 To 2」のLoopで当年実績、前年実績、目標を集計の順に集計を行います
 12、抽出条件の「日付」に開始日と終了日を出力、「項目」に、売上集計の場合、
 "売上", "売上", "売上目標"のどれかkで決まった値を出力します
 13、AdvancedFilterの実行を行い、作業シートにデータを抽出します
 14、データの順序を念の為、揃える為に日付昇順で整列(ソート)を掛けます
 15、此れを、月別、係別に結果出力用配列に集計を行います
 16、集計を行った後、kが3回以内なら「11、」に戻り、
 超えた場合、Loopを抜け、結果を店舗(出力)シートに出力し、
 店舗(出力)シートに行列見出しと算式を出力します
 17、「9、」に戻り、差益集計に掛ます
 18、売上集計と差益集計が終わると、終了処理に成り、
 まず作業用シートを削除します
 19、再計算の仕方を元に戻すし、再計算を実行し、画面更新を再開させます
 20、終了と成ります
 
 
 |  |