| 
    
     |  | こんにちは。かみちゃん です。 
 > シート1のN列の合計数値を上から順に参照し、シート2の該当する表(区分)
 > の当該月の該当する職場コードのセルに加算していきたい
 
 日付は、70121とある場合、2桁目と3桁目が月であるという前提、
 7月以降データにはとりあえず対応しないという前提ですと、
 以下のようなコードでできると思います。
 
 Sub Sample1()
 Dim WS1 As Worksheet
 Dim WS2 As Worksheet
 Dim LastCell1 As Range
 Dim LastCell2 As Range
 Dim c As Range
 Dim intMM As Integer
 Dim intCol As Integer
 Dim lngRow As Long
 Dim lngFindRow As Long
 
 Set WS1 = Sheets("Sheet1")
 Set WS2 = Sheets("Sheet2")
 Set LastCell1 = WS1.Cells(Rows.Count, "B").End(xlUp)
 Set LastCell2 = WS2.Cells(Rows.Count, "B").End(xlUp)
 
 For Each c In WS1.Range("B2", LastCell1)
 intMM = Val(Mid(c.Value, 2, 2))
 For lngFindRow = 2 To LastCell2.Row Step 27
 intCol = 0
 On Error Resume Next
 intCol = Application.Match(c.Offset(, 7).Value, WS2.Rows(lngFindRow), 0)
 On Error GoTo 0
 If intCol > 0 Then
 lngRow = 0
 On Error Resume Next
 lngRow = Application.Match(c.Offset(, 1).Value, WS2.Cells(lngFindRow + 2, "B").Resize(25), 0)
 On Error GoTo 0
 If lngRow > 0 Then
 lngRow = lngFindRow + lngRow + 1
 End If
 Exit For
 End If
 Next
 With WS2.Cells(lngRow, intCol + intMM - 1)
 .Value = .Value + c.Offset(, 12).Value
 End With
 Next
 MsgBox "終了しました"
 End Sub
 
 なお、7月以降のデータに対応する場合は、一部を修正することで対応可能です。
 
 |  |