【マクロ・VBA】店舗売上額に対する各スタッフの貢献度を比較する方法

マクロ・VBA

オレが仕事で作ったマクロ・VBAをお分かちするシリーズです。

今回は、店舗の売り上げ額を、当日勤務しているスタッフに等分に割り当てて、各スタッフがどれほど売り上げに貢献しているかを判断するためのマクロ・VBAを作りました。

言葉で説明するとややこしくなるので、以下の通り図で説明します。

マクロの全体構成

マクロ・VBAの全体構成を説明します。

入力用フォーム

まずは入力フォームです。

集計用テーブルとグラフ

続いて、集計用テーブルとグラフです。

マクロの使い方

続いて、このマクロ・VBAの使い方を以下に記します。

入力フォームへの登録

入力フォームに、以下の情報を入力し、登録ボタンを押します。

  • 日付
  • 当日の売上額
  • 当日のスタッフの勤務状況

集計用テーブルとグラフ

登録したデータは、該当する日付の欄に自動的に入力されます。
また、グラフに即座に反映されます。

VBAコード

このマクロを作成するために描いたVBAコードは以下の通りです。
適宜編集しながら活用ください。
カスタマイズのご依頼も受けていますので、気軽にお声がけください。

Sub 計上()

Dim Nen As Integer
Dim Gatsu As Integer
Dim Hi As Integer

Dim Uriage As Long
Dim staff As Integer
Dim sho As Double

Dim Namae As String
Dim gyo As Integer

Dim i As Integer
Dim staffNum As Integer


'各種データ取得
  Nen = Range("F5").Value
  Gatsu = Range("H5").Value
  Hi = Range("J5").Value

  Uriage = Range("F8").Value
  staff = Range("H18").Value

  sho = Uriage / staff
  staffNum = Range("H19").Value


'H12を選択し、スタッフごとの売り上げを入力
  Range("H12").Select

For i = 1 To staffNum
  If ActiveCell.Value = "出勤" Then
    ActiveCell.Offset(0, -2).Select
    Namae = ActiveCell.Value

    Worksheets(Nen & "年" & Gatsu & "月").Select
    Columns("B:B").Select

    Selection.Find(What:=Namae, LookIn:=xlFormulas2, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate

    ActiveCell.Offset(0, Hi).Select
    ActiveCell.Value = sho

    Worksheets("入力フォーム").Select
    ActiveCell.Offset(1, 2).Select

  Else

    ActiveCell.Offset(1, 0).Select

  End If

Next i

Worksheets(Nen & "年" & Gatsu & "月").Select
End Sub

まとめ

今回は、
店舗売上額に対する各スタッフの貢献度を比較する方法
を実現するマクロを作成しました。

業務効率化に役立てて頂けたら嬉しいです。

作って欲しいマクロなどありましたら、実力の範囲で作成しますので、お気軽に声をおかけください。

コメント

タイトルとURLをコピーしました