Top > 販売管理> 商品区分集計

VBA通信教材申込み

VBA課題解決型実践塾セミナー内容

申込 ヤフーショッピング

商品区分集計

(16)商品区分集計

商品区分集計

1)作業データのクリア
2)集計条件に合った売上データを作業データに取り出す
3)商品区分の取り出しと更新
4)商品区分で並び替える
5)商品区分で集計を作業1に作る
6)商品区分シートに金額を更新する

商品区分集計

売上明細から抽出条件によって取り出した作業シート

商品区分集計

商品シートから商品区分を取り出した作業シート

商品区分集計

商品区分で並び替えた作業シート

商品区分集計

商品区分で集計した作業1シートを作成

商品区分集計

作業1シートを商品区分シートに更新

商品区分集計

標準モジュールに書く
Sub 商品区分集計()
  frmTkubunuriage.Show
End Sub
フォームにオブジェクトを貼り付ける
フォームモジュールに書く。
Private Sub cmdJikkou_Click()
  Dim i As Long
  Dim j As Long
  Dim k As Long
  Dim lastrow As Long
  Dim kei As Long
  Dim keis As Long
'作業データのクリア
  Worksheets("作業").Cells.Clear
  Worksheets("作業").Cells(1, 1) = "商品コード"
  Worksheets("作業").Cells(1, 2) = "商品区分"
  Worksheets("作業").Cells(1, 3) = "売上金額"
  Worksheets("作業").Cells(1, 4) = "仕入金額"
'売上データの取り出し
  lastrow = Worksheets("売上明細").Cells(Rows.Count, 1).End(xlUp).Row
  j = 2
  For i = 2 To lastrow
    If Worksheets("売上明細").Cells(i, 2) >= txtKaisi.Text And Worksheets("売上明細").Cells(i, 2) <= txtEnd.Text Then
      Worksheets("作業").Cells(j, 1) = Worksheets("売上明細").Cells(i, 5)
      Worksheets("作業").Cells(j, 3) = Worksheets("売上明細").Cells(i, 9)
      Worksheets("作業").Cells(j, 4) = Worksheets("売上明細").Cells(i, 11)
      j = j + 1
    End If
  Next
'商品コードから商品区分を取り出し作業につける
  lastrow = Worksheets("商品名").Cells(Rows.Count, 1).End(xlUp).Row
'Jは作業の最後の行+1
  For i = 2 To j - 1
    For k = 2 To lastrow
      If Worksheets("商品名").Cells(k, 1) = Worksheets("作業").Cells(i, 1) Then
        Worksheets("作業").Cells(i, 2) = Worksheets("商品名").Cells(k, 3)
        Exit For
      End If
    Next
  Next
'作業の商品区分を並び替える
  Worksheets("作業").Activate
  Range(Cells(2, 1), Cells(j - 1, 4)).Select
  ActiveWorkbook.Worksheets("作業").Sort.SortFields.Clear
  ActiveWorkbook.Worksheets("作業").Sort.SortFields.Add Key:=Cells(2, 2), SortOn _
  :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
  With ActiveWorkbook.Worksheets("作業").Sort
  .SetRange Range(Cells(2, 1), Cells(j - 1, 4))
  .Header = xlNo
  .MatchCase = False
  .Orientation = xlTopToBottom
  .SortMethod = xlPinYin
  .Apply
  End With
'商品区分で集計をとる
  Worksheets("作業1").Cells.Clear
  Worksheets("作業1").Cells(1, 1) = "商品区分"
  Worksheets("作業1").Cells(1, 2) = "売上金額"
  Worksheets("作業1").Cells(1, 3) = "仕入金額"
  k = 2
  kei = 0
  keis = 0
  For i = 2 To j - 1
    kei = kei + Worksheets("作業").Cells(i, 3)
    keis = keis + Worksheets("作業").Cells(i, 4)
    If Worksheets("作業").Cells(i, 2) <> Worksheets("作業").Cells(i + 1, 2) Then
      Worksheets("作業1").Cells(k, 1) = Worksheets("作業").Cells(i, 2)
      Worksheets("作業1").Cells(k, 2) = kei
      Worksheets("作業1").Cells(k, 3) = keis
      k = k + 1
      kei = 0
      keis = 0
    End If
  Next
'商品区分シートに転記
  lastrow = Worksheets("商品区分").Cells(Rows.Count, 1).End(xlUp).Row
'kは作業1の最後の行+1
  For i = 1 To lastrow
    Worksheets("商品区分").Cells(i, 3) = ""
    Worksheets("商品区分").Cells(i, 4) = ""
    Worksheets("商品区分").Cells(i, 5) = ""
  Next
  Worksheets("商品区分").Cells(1, 3) = "売上金額"
  Worksheets("商品区分").Cells(1, 4) = "原価金額"
  Worksheets("商品区分").Cells(1, 5) = "粗利金額"
  For i = 2 To k - 1
    For j = 2 To lastrow
      If Worksheets("作業1").Cells(i, 1) = Worksheets("商品区分").Cells(j, 1) Then
        Worksheets("商品区分").Cells(j, 3) = Worksheets("作業1").Cells(i, 2)
        Worksheets("商品区分").Cells(j, 4) = Worksheets("作業1").Cells(i, 3)
        Worksheets("商品区分").Cells(j, 5) = Worksheets("作業1").Cells(i, 2) - Worksheets("作業1").Cells(i, 3)
      End If
    Next
  Next
  Unload Me
  Worksheets("商品区分").Select
End Sub
Private Sub cmdCancel_Click()
  Unload Me
End Sub

 

 

塾長あいさつ
基本方針(考え方)
通信教育内容
課題解決セミナー内容
初心者基礎コース内容
カリキュラム・料金
案内地図・各種リンク
問合せ・申込み
アベノ塾
システムの内製化
アサイコンピュータACS
応用部品集(有料)
販売管理(事例)
財務管理(事例)
顧客管理(事例)
見積もり(事例)
給与(事例)
介護(事例)
ゴースト暗算(事例)
部品集(部品の基礎)
部品集(シート関連)
部品集(データベース)
部品集(セル関連)
部品集(関数)
部品集(フォーム関連)
部品集(ブック関連)
部品集(その他)
変数の勉強
繰り返しと条件文
マスター登録.訂正.削除
フォルダー内のファイル
項目をシート名で作成
ブックの操作
CSVファイルの取り込み
呼び出し元・先
商品マスター検索
エクセル関数をVBAで
エクセル関数を使う
よくつかうプログラム
販売管理(ソース)
財務管理(ソース)
給与管理(概要・画面)
見積もり(概要・画面)
工程管理(概要・画面)
原価管理(概要・画面)