フィルをマクロで操作してみる
先日職場で、こんな操作ができることを教わった。
1.A1に「1」と入力する。
2.連続データの作成を選択。
3.列方向に停止値20を設定し、OKを押す。
4.連続データが作成される。
知らなかった。これは便利だ。折角なので、マクロの記録で見てみる。
Sub Macro1() Selection.DataSeries Rowcol:=xlColumns, _ Type:=xlLinear, _ Date:=xlDay, _ Step:=1, _ Stop:=20, _ Trend:=False End Sub
初期値を省略すると、こうなる。
Sub Macro1() Selection.DataSeries Rowcol:=xlColumns, _ Stop:=20 End Sub
これは、何かと使えそうだ。引数を与える形にすると、例えばこうなる。
Sub SetDataSeries(destination_range As Range, _ Optional dsStart As Long = 1, _ Optional dsRowcol As XlRowCol = xlRow, _ Optional dsType As XlTrendlineType = xlLinear, _ Optional dsDate As XlDataSeriesDate = xlDay, _ Optional dsStep As Long = 1, _ Optional dsStop As Long = 10, _ Optional dsTrend As Boolean = False) With destination_range .Value = dsStart .DataSeries dsRowcol, dsType, dsDate, dsStep, dsStop, dsTrend End With End Sub
こちらでテストしてみよう。
Sub Test() SetDataSeries Range("A1"), , xlColumns End Sub
結果、このようになった。
これは、もう少し作りこむと、それなりに使えるような気がする。
というわけで、明日に続きます。
参考まで。