|
こんにちは。かみちゃん です。
>16日東の人はF2:H6 名の人はI2:K6 大の人はL2:L6 休日の人はM2:P6に表示させた
>く思います (シート1の "出"の人も休日に表示させる)
いろいろ伺った結果、以下のような感じでできると思います。
サンプルデータを作って検証済みです。
Sub Sample()
Dim rngList As Range
Dim c As Range
Dim intCol As Integer
Dim cnt1 As Integer
Dim cnt2 As Integer
Dim cnt3 As Integer
Dim cnt4 As Integer
With Sheets("Sheet1").Range("D5")
Set rngList = .Resize(.Offset(Rows.Count - .Row).End(xlUp).Row - .Row + 1) _
.Offset(, 1).Resize(, 31)
End With
For intCol = 1 To rngList.Columns.Count
For Each c In rngList.Columns(intCol).Cells
With Sheets("Sheet2").Range("F2").Offset((intCol - 1) * 5)
Select Case c.Value
Case "東"
cnt1 = cnt1 + 1
.Resize(5, 3).Cells(cnt1).Value = _
Sheets("Sheet1").Cells(c.Row, 4).Value
Case "名"
cnt2 = cnt2 + 1
.Offset(, 3).Resize(5, 3).Cells(cnt2).Value = _
Sheets("Sheet1").Cells(c.Row, 4).Value
Case "大"
cnt3 = cnt3 + 1
.Offset(, 6).Resize(5, 1).Cells(cnt3).Value = _
Sheets("Sheet1").Cells(c.Row, 4).Value
Case "休", "出"
cnt4 = cnt4 + 1
.Offset(, 7).Resize(5, 4).Cells(cnt4).Value = _
Sheets("Sheet1").Cells(c.Row, 4).Value
End Select
End With
Next
Next
MsgBox "終了しました"
End Sub
|
|