やりたいこと
今回挑戦するのは、「ダイヤグラムを描く」ことです。
鉄道好きな人なら、一度はやったことがあるんじゃないでしょうか。
時刻表から出発時間を拾いながら、グラフ用紙に線を引いていくような作業です。
鉄道関係なくても、数字をみたらビジュアル化するというのは、できる社会人の基本動作ですよね。
最初からいろいろな機能を作りこむのは大変なので、少しずつ作ります。
最初のインプットはこんな感じです。
そして、アウトプットはこんな感じです。
これを、マクロで自動生成したいということです。
まずは新しいシートを作成して、フォントを設定するマクロを作成しましょう。
駅間の狭いところがあると大きな字は書けないので、デフォルトを8ポイントにしました。
Meiryo UIを選ぶと、横に必要なスペースも少な目になります。
そして、駅名をコピーします。
上り下りの別はないので、そこは消します。
上りがある時のことは後日考えます。
今日の内容はこんな感じでした。
Sub ダイヤ生成() Dim dataSheet As Worksheet Set dataSheet = ActiveSheet Call シート初期化(dataSheet) Call 駅名コピー(dataSheet) End Sub Sub シート初期化(dataSheet As Worksheet) Sheets.Add After:=dataSheet Cells.Select With Selection.Font .Name = "Meiryo UI" .Size = 8 End With Range("A1").Select End Sub Sub 駅名コピー(dataSheet As Worksheet) rw = 1 s = dataSheet.Cells(rw, 1).Value n = InStr(s, "【") If n <> 0 Then s = Mid(s, n) End If Cells(rw, 1).Value = s rw = rw + 1 Do While dataSheet.Cells(rw, 1).Value <> "" Cells(rw, 1).Value = dataSheet.Cells(rw, 1).Value rw = rw + 1 Loop End Sub