| 
    
     |  | とりあえず作ってみましたがカットやカラー、トリートメント または予約可、要確認はどういう法則で並べていくのかよくわからないです。
 A1セルが多分担当者の名前とかなんだろうと思いますが担当者によって条件が違うんでしょうか。
 
 
 Sub 時間割作成成分()
 Application.ScreenUpdating = False
 
 Dim ws1 As Worksheet
 Set ws1 = Worksheets("CSVデータ取得")
 Dim ws2 As Worksheet
 Set ws2 = Worksheets("表")
 
 Dim a As Long
 Dim i As Long 'for行
 Dim j As Long 'for列
 Dim iLast As Long: iLast = 5  '1以上
 Dim jLast As Long
 Dim rng As Range
 Dim clmnplus As Long
 
 ws2.Range("A5:BD" & iLast * 6 + 4).ClearContents
 ws2.Cells(1, 1) = ws1.Cells(2, 11)
 
 For a = 2 To 80
 Select Case ws1.Cells(a, 12).Value
 Case "0915" '"915"かも?
 clmnplus = 0
 Case "1000"
 clmnplus = 8
 Case "1200"
 clmnplus = 16
 Case "1300"
 clmnplus = 31
 Case "1500"
 clmnplus = 39
 Case "1600"
 clmnplus = 47
 Case Else
 GoTo 脱出
 End Select
 'If (ws1.Cells(a, 4).Value = "カット" Or ws1.Cells(a, 4).Value = "カラー") _
 And ws1.Cells(a, 14).Value = "予約可" Then
 'よくわからないのでとりあえずコメントアウト
 For j = 1 To 2
 For i = 1 To iLast
 Set rng = ws2.Cells(i * 6 - 1, j * 4 - 3 + clmnplus)
 If rng.Value = "" Then
 rng.Value = ws1.Cells(a, 6).Value
 ws2.Cells(rng.Row + 2, rng.Column + 3).Value = ws1.Cells(a, 4).Value
 GoTo 脱出
 End If
 Next
 Next
 'End If
 脱出:
 Next
 
 Application.ScreenUpdating = True
 
 End Sub
 
 |  |