settingsログイン
メニュー

【回答済み】出勤簿の集計のしかた

閲覧 373
エクセルVBA初心者です。
毎日ひとつのシートに利用者の出勤時間を入力しています。

   ○月△日
    出社時間 退社時間
Aさん 9:00 16:00
Bさん 8:30 15:30
Cさん     休み


これを月末に

Aさん ○月分

     出社時間 退社時間
○月△日 9:00 16:00
○月△日 9:30 15:00 
○月△日     休み

Bさん ○月分

     出社時間 退社時間
○月△日 9:00 16:00
○月△日 9:30 15:00 
○月△日     休み


のように個人別に集計したいのですができますでしょうか?
匿名 2016 8/21 質問 Excel(エクセル)

回答 1

役立ち 0
毎日のシートのデータがどのセルに入力されているかはっきりしないの
で、とりあえず簡単なプログラムを作成しておきました。
毎日のシートから、特定の名前の人のデータを検索して「集計」シートに
転記するようにしてあります。
 エラーチェックなどはしてありませんのが、とりあえずご希望のような
集計は可能です。ただし、毎日のデータの途中に空白行があると、その下の
データを集計しません。

 下の様のプログラムを作成してボタンに登録しておけば、簡単に集計が
できます。

Sub Syukei()
    Dim name As String
    Dim Sdate As Date
    Dim SheetNo As Integer
    Dim i, j As Integer

    Worksheets(”集計”).Activate
    
    name = Range(”B2”).Value        '集計する人の氏名取得
    Range(”A5:C40”).ClearContents   '前回の表示データを消去
    
    SheetNo = 6              '集計するシート数 → 1月分のときは31?
    
    
    'Sheet1~最終シートまで繰り返す
    For i = 1 To SheetNo
        Sdate = Worksheets(”Sheet” & i).Range(”A1”).Value       'シートの日付を取得
        
        j = 3
        
        '名前データが空白でない間は繰り返し
        Do While Worksheets(”Sheet” & i).Cells(j, 1).Value <> ””
            '名前データが集計する人と一致するかチェック → 一致したら「集計」シートに転記
            If Worksheets(”Sheet” & i).Cells(j, 1).Value = name Then
                Worksheets(”集計”).Activate
                Range(”A65536”).End(xlUp).Offset(1).Select      '集計シートの最終行の1行下を選択
                Selection.Value = Sdate                         '日付を転記
                Selection.Offset(0, 1).Value = Worksheets(”Sheet” & i).Cells(j, 2).Value    '出社時刻を転記
                Selection.Offset(0, 2).Value = Worksheets(”Sheet” & i).Cells(j, 3).Value    '退社時刻を転記
            End If
            j = j + 1       'シートの次のデータへ移動
        Loop
                
    Next i
    
End Sub

ツボウチ塾 パソコンスクール 岐阜県 各務原市 初心者向けパソコン教室

全ての回答 ホームページへ
2016 8/21 回答

Office(オフィス)、Excel(エクセル) の企業/事業者/教室/プロの方のホームページの集客、アクセスアップ、SEO対策効果が期待できるリスティングサイト=Ask-itをぜひご活用ください

Ask IT にようこそ。ここではコミュニティメンバーに質問したり、回答を得ることができます。
ITについて質問したい方へ ITについてプロに質問したい方は会員登録後すぐに質問をする事ができます。

プロフェッショナルの方へ 質問に答えていただけるプロフェッショナルの方は下記をご覧下さい

お気づきの点があれば是非お知らせください
...