2023-04-01から1ヶ月間の記事一覧

Excelでダイヤグラム:リファクタリング

プログラムの動作を変えずに、ソースコードをきれいにすることをリファクタリングと言います。なんだけど、リファクタリングして動作が変わらないということをどうやって保証するか。 仕事の時はちゃんと悩みますが、今回は出力したダイヤが同じならOKなので…

Excelでダイヤグラム:問題修正

ひとつ問題に気が付きました。駅名が下寄せされていない。 下寄せは、Range(・・).VerticalAlignmentで設定できます。で、それを修正しようとしてもう一つ問題発見。 diag.Range(Cells(rw, 1), Cells(rw, 6 * 22 + 1)).Borders(xlEdgeBottom).LineStyle = xl…

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

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

Excelでダイヤグラム:スジを複数引く

少し間が空いてしまいましたが、再開です。今日のテーマはスジを複数引くことです。同時に、途中駅発とか、途中駅終着とかの対応もしましょう。 データはこんな感じです。 既に縦横は変数にしてあったので、対応は限定的でした。 Sub スジ(路線() As 路線情…

Excelでダイヤグラム:スジを引く

スジを引くところを、路線情報に対応します。複数路線、上り下り、複数列車の準備をしますが、まだ未確認です。 Sub スジ(路線() As 路線情報, dataSheet As Worksheet, diagSheet As Worksheet) dlta = 0.000001 For i = 0 To UBound(路線) cl = 3 brw = 路…

Excelでダイヤグラム:軸の設定

シートの初期化を整理します。時間軸は全路線共通ですが、縦の罫線を引く範囲が路線に依存するので、路線の方に移して、残りの列幅設定はシート初期化の方に入れます。 Sub シート初期化(dataSheet As Worksheet) Sheets.Add After:=dataSheet Cells.Select …