質問: excelVBAの質問です。 画像のような表から、 入場時間・退場時間・色から右のようなガントチャートを作成したいのですが、
回答: シート名、セル位置が解りません。勝手に画像の様な表とします。 色はSheet1でつけた色と同じ色にします。 Option Explicit ' Sub Macro1() Dim I As Worksheet Dim RInp As Long Dim ROut As Long Dim CInp As Integer Dim CWrk As Double Dim COut As Integer Dim CCnt As Integer ' Set I = Sheets("Sheet1") Sheets("Sheet2").Select ' With Range("B2:DK" & Rows.Count) .ClearContents .Interior.Pattern = xlNone End With Application.ScreenUpdating = False ' For RInp = 2 To I.Cells(Rows.Count, "C").End(xlUp).Row Step 4 ROut = RInp / 2 + 2 ' For CInp = 3 To 5 CWrk = I.Cells(RInp + 1, CInp) - [B1] COut = CWrk * 144 + 3 CWrk = I.Cells(RInp + 2, CInp) - [B1] CCnt = CWrk * 144 + 3 - COut ' If COut > 1 And CCnt > 1 Then Cells(ROut, COut).Resize(, CCnt).Interior.Color = _ I.Cells(RInp + 3, CInp).Interior.Color Cells(ROut + 1, COut) = I.Cells(RInp, CInp) End If Next CInp, RInp End Sub