時間を数字に直すには?
12:30-11:00=1:30 となりますね。
1時間900円のアルバイト代は掛けられませんね
掛けるには時間を数字に直す必要があります。
=(D7-B7)*24 そう24を掛けるのです。
0:00と書式が時間になっている場合はセルの書式設定で標準に設定してください。
1.5となります。設定のわからない方は最後に画像で表示します。
それではアルバイト勤務表のレッスンです。


同様に井上・杉山を作るには「森山」シートを右にコピーします。
Ctrlキー(コントロールキー)を押しながら「森山」シートを右にドラッグすればコピーできます。
下記のようにシート名他、データを編集します。


7月第1週シートに3つの合計を集計します。
串刺し計算で勤務人数、支給額計を表示します。


Shiftキーはクリックしたシートからクリックしたシートまでの全てを選択できます。
飛び飛びのシートを選択したい場合はCtrlキーを使います。

退勤から出勤を引いて勤務時間を出した場合1:30と時間表示になります。
数字にする場合24を×のですが、一度、書式を時間表示にすると数字には戻りません。
その場合、クリアーで書式を削除するか、セルを右クリックして書式の設定を標準の戻します。

それではこのシートをVBAで操作出来るようにプログラムを書いてみましょう。
森山・井上・杉島シートにコピーします。

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
        
    nrow = Target.Row
    ncol = Target.Column
    
    If ncol = 3 Then Exit Sub
    If nrow < 7 Or nrow > 13 Then Exit Sub
           
    kei = 0: n = 0    
    Application.EnableEvents = False
    For i = 7 To 13
    
        Cells(i, 5) = (Cells(i, 4) - Cells(i, 2)) * 24
        If Cells(i, 2) = "" Or Cells(i, 4) = "" Then Cells(i, 5) = 0
        
        Cells(i, 6) = Cells(i, 5) * Cells(6, 9)
        kei = kei + Cells(i, 6)
        If Cells(i, 5) <> 0 Then
            n = n + 1
        End If
    
    Next i
    Cells(14, 6) = kei
    Cells(7, 9) = n
    Application.EnableEvents = True
  
End Sub

では次に合計シートの集計をシートを開いた時に発生するイベントプロシージャ
Worksheet_Activate()に書き込みます。

Private Sub Worksheet_Activate()
Dim WB As Workbook
Dim WS1 As Worksheet
        
Set WB = ActiveWorkbook
       
Row = 7
col = 6
wsRow = 4
wsCol = 3


    For i = 1 To 7
        gokei = 0
        countN = 0


        For j = 1 To 3
            Set WS1 = WB.Worksheets(j)
                    
            kei = WS1.Cells(Row, col)
            If kei <> 0 Then countN = countN + 1
            gokei = gokei + kei
        Next j
        
        Row = Row + 1
        Cells(wsRow, wsCol) = gokei
        Cells(wsRow, 2) = countN
        wsRow = wsRow + 1
        
    Next i
    
    gokei = 0: kei = 0: countN = 0
    For i = 4 To wsRow - 1
    
        kei = Cells(i, wsCol)
        countN = countN + Cells(i, 2)
        gokei = gokei + kei
        
    Next i
    Cells(wsRow + 1, wsCol) = gokei
    Cells(wsRow + 1, 2) = countN


End Sub