Excelでダイヤグラム:問題修正
ひとつ問題に気が付きました。
駅名が下寄せされていない。
下寄せは、Range(・・).VerticalAlignmentで設定できます。
で、それを修正しようとしてもう一つ問題発見。
diag.Range(Cells(rw, 1), Cells(rw, 6 * 22 + 1)).Borders(xlEdgeBottom).LineStyle = xlContinuous
ここで、Cellsだとアクティブシートのセルを参照してしまいます。
そんなわけで、2行ほど修正します。
Sub 路線設定(路線() As 路線情報, diag As Worksheet) rw = 1 For i = 0 To UBound(路線) 路線(i).ダイヤ行 = rw diag.Cells(rw, 1).Value = 路線(i).路線名 rw = rw + 1 For j = 1 To 路線(i).駅数 diag.Cells(rw, 1).Value = 路線(i).駅名(j - 1) diag.Range(diag.Cells(rw, 1), diag.Cells(rw, 1)).VerticalAlignment = xlBottom If j <> 1 Then diag.Rows(rw).RowHeight = 路線(i).駅間(j - 2) * 5 End If diag.Range(diag.Cells(rw, 1), diag.Cells(rw, 6 * 22 + 1)).Borders(xlEdgeBottom).LineStyle = xlContinuous rw = rw + 1 Next j For hr = 4 To 26 cl = hr * 6 - 22 diag.Cells(路線(i).ダイヤ行 + 1, cl).Value = hr diag.Cells(路線(i).ダイヤ行 + 1, cl).HorizontalAlignment = xlLeft diag.Range(diag.Cells(路線(i).ダイヤ行 + 1, cl), diag.Cells(rw - 1, cl)).Borders(xlEdgeLeft).LineStyle = xlContinuous Next rw = rw + 1 Next i End Sub
次回は全体見直しの想定です。