Top > 販売管理> 得意先区分集計

VBA通信教材申込み

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

申込 ヤフーショッピング

得意先区分集計

(15)得意先区分集計

得意先区分集計

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, 3)
      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, 5)
        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で
エクセル関数を使う
よくつかうプログラム
販売管理(ソース)
財務管理(ソース)
給与管理(概要・画面)
見積もり(概要・画面)
工程管理(概要・画面)
原価管理(概要・画面)