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

次回は全体見直しの想定です。