Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


32877 / 76734 ←次へ | 前へ→

【49088】Re:月別集計
発言  Hirofumi  - 07/5/22(火) 18:51 -

引用なし
パスワード
   コメントを殆ど削除してしまったので、何をやって居るのか解らないと思いますので?

まず以下は、パラメタの部分で適当に変更して下さい

  '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、終了と成ります

4 hits

【49008】月別集計 hiro 07/5/20(日) 23:52 質問
【49016】Re:月別集計 Hirofumi 07/5/21(月) 7:43 発言
【49018】Re:月別集計 Hirofumi 07/5/21(月) 8:42 発言
【49049】Re:月別集計 Hirofumi 07/5/21(月) 19:49 回答
【49052】Re:月別集計 hiro 07/5/21(月) 21:27 お礼
【49056】Re:月別集計 hiro 07/5/21(月) 23:31 発言
【49058】Re:月別集計 Hirofumi 07/5/22(火) 0:39 回答
【49062】Re:月別集計 Hirofumi 07/5/22(火) 10:20 回答
【49063】Re:月別集計 hiro 07/5/22(火) 10:35 発言
【49075】Re:月別集計 Hirofumi 07/5/22(火) 15:19 発言
【49078】Re:月別集計 Hirofumi 07/5/22(火) 16:04 回答
【49079】Re:月別集計 Hirofumi 07/5/22(火) 16:06 回答
【49088】Re:月別集計 Hirofumi 07/5/22(火) 18:51 発言
【49089】Re:月別集計 hiro 07/5/22(火) 19:13 発言
【49091】Re:月別集計 Hirofumi 07/5/22(火) 19:53 回答
【49092】Re:月別集計 Hirofumi 07/5/22(火) 20:28 回答
【49094】Re:月別集計 hiro 07/5/22(火) 20:46 発言
【49095】Re:月別集計 Hirofumi 07/5/22(火) 21:35 回答
【49102】Re:月別集計 Hirofumi 07/5/23(水) 9:36 回答
【49114】Re:月別集計 hiro 07/5/23(水) 21:23 お礼
【49116】Re:月別集計 Hirofumi 07/5/23(水) 21:45 発言

32877 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free