Excelでダイヤグラム:優等列車の設定

今日は優等列車の設定です。
データの書き方を決めましょう。

先頭行に列車種別を描いています。
字はなんでもいいですが、色をスジに反映しようと思います。
通過のマークを決めます。
紙で時刻表を見てた人はレのような片側矢印がおなじみですが、ここは普通に下向き矢印にしました。

土休日ダイヤですが、渋谷発の最初の急行は、新横浜線直通なんだ。。。
で、それを受けて、日吉始発の各停と急行が。

それは置いといて、VBAの対応です。
通過駅の対応は判断文一つでOKです。

                    If dx <> "↓" Then
                        If tx > dx + dlta Then
                        ・・・・
                    EndIf

線の色と太さを決めます。
太さは小数点以下切り上げのような気がします。

            With dataSheet
                clr = .Range(.Cells(brw, cl), .Cells(brw, cl)).Font.Color
            End With
            wgt = 0.5
            If dataSheet.Cells(brw, cl) <> "" Then
                wgt = 1.2
            End If

色と太さは線を引くところで設定します。
ちょっと独特な書き方になります。

                        With diagSheet.Shapes.AddConnector(msoConnectorStraight, _
                                X座標(ox, diagSheet), diagSheet.Rows(oy + 1).Top, _
                                X座標(dx, diagSheet), diagSheet.Rows(brw + irw + 1).Top)
                            .Line.ForeColor.RGB = clr
                            .Line.Weight = wgt
                        End With

いい感じの出力になりました。

ちょっとソースがごちゃついてきたので、少し見直しもかけたいと思います。