Option Explicit
Dim 自期 As Date
Dim 去期 As Date
Dim 日数 As Long
Dim i As Long 'シートカウント
Dim s As Long '判断日数Range("E3")
Dim 行数 As Long
Dim 行変数 As Long
Dim Rhajime As Long '初めのRow番地
Dim Rowari As Long '終わりのRow番地
Sub データ取得()
'****//指示された1週間のデータ集計します//*****************
Application.ScreenUpdating = False
Sheets("確認").Select
自期 = Cells(2, 5).Value '週の始まり
去期 = Cells(2, 7).Value '週の終わり
For i = 2 To Sheets.Count '社員名シート左から2番めから
Sheets(i).Select '左から(i)番目
行数 = Cells(Rows.Count, 2).End(xlUp).Row 'シート(i)番目の日付最終行
For 行変数 = 9 To 行数
Cells(行変数, 2).Select
If Cells(行変数, 2) = 自期 Then '日付行と自期照合(週初め)
Rhajime = 行変数 '行変数(Row番地)を変数Rhajimeに保管
Else
If Cells(行変数, 2) = 去期 Then '去期(週終わり)
Rowari = 行変数 - 1 '行変数(Row番地)を変数 Rowariに保管
'Excel関数(CountIf)使う為1週間のセル範囲する
Range(Cells(Rhajime, 4), Cells(Rowari, 4)).Select
日数 = WorksheetFunction.CountIf(Range(Cells(Rhajime, 4), _
Cells(Rowari, 4)), "〇")
Cells(Rhajime, 10) = 日数
Exit For
End If
End If
Next 行変数
Next i
Call データ表示 '//一か月の日数表示//
Call データ表示1 '*****//1週間の日数表示//***
Sheets("確認").Select
Application.ScreenUpdating = True
End Sub
Sub データ表示()
Dim ii As Long '
Dim n As Long '行間隔(週7日)
Sheets("確認").Select
For ii = 1 To 4 '4週間
For i = 2 To Sheets.Count
Sheets(i).Select
日数 = Cells(9 + n, 10).Value
Sheets("確認").Cells(9 + i, 2 + ii) = 日数
Sheets("確認").Cells(9 + i, 2) = Sheets(i).Name
Next i
n = n + 7 '行間隔(週7日)
Next ii
Sheets("確認").Select
End Sub
Sub データ表示1()
Dim ii As Long '
Dim n As Long '行間隔
'明細クリア******************
Sheets("確認").Select
Range("C11:F28").Select
Selection.ClearContents
Range("B11").Select
'***************************************
自期 = Cells(2, 5).Value
For i = 2 To Sheets.Count
Sheets(i).Select
行数 = Cells(Rows.Count, 2).End(xlUp).Row
For 行変数 = 9 To 行数
Cells(行変数, 2).Select
If Cells(行変数, 2) = 自期 Then
Rhajime = 行変数
'***//ここで何週目のデータか判断//******
If Rhajime = 9 Then Call 第1週目
If Rhajime = 16 Then Call 第2週目
If Rhajime = 23 Then Call 第3週目
If Rhajime = 30 Then Call 第4週目
End If
Next 行変数
Next i
End Sub
Sub 第1週目()
'//Sheets("確認")へ出力//← Sheets(i)の勤務日数***
Sheets("確認").Cells(9 + i, 3) = Cells(Rhajime, 10).Value
End Sub
Sub 第2週目()
Sheets("確認").Cells(9 + i, 4) = Cells(Rhajime, 10).Value
End Sub
Sub 第3週目()
Sheets("確認").Cells(9 + i, 5) = Cells(Rhajime, 10).Value
End Sub
Sub 第4週目()
Sheets("確認").Cells(9 + i, 6) = Cells(Rhajime, 10).Value
End Sub
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。