2006/12/07

オートフィルみたいにするマクロ

たとえば,ピボットテーブルで同じ列に2つ変数を設定した場合、一番最初の方の変数のほうが空白となってしまいます.印刷目的の場合はきれいに見えるのですがこれを使ってマクロを組もうとすると結構不便なのでその空白を埋めるマクロです。

【例題シート】
スプレッドシート


ピボッドテーブル



ピボットテーブルをコピーしたシート


【事例】
Sub auto_fill()
For i = 2 To 7
If Cells(i, 1) <> "" Then
mc = Cells(i, 1)
ElseIf Cells(i, 1) = "" Then
Cells(i, 1) = mc
End If
Next i

End Sub()
【解説】
うまくいくと以下のようになります.

どうでしょう.こんなこと出来たらうれしくないですかねぇ.ぼくは結構うれしいのでUpしてしまいました.

2006/12/03

埋め込みグラフを作る その8(グラフにタイトルをつける)

徐々に埋め込みグラフ作成に架橋に入ってまいりました.今回はタイトルをつけてみましょう.前回のマクロに肉付けします.

【事例】
Sub Second_graph_make()

With ActiveSheet.ChartObjects.Add(50, 100, 300, 200).Chart
.SetSourceData Sheets("sheet1").Range("A3:D6")
.HasTitle = True
.ChartTitle.Text = "在庫調査"
End With

ActiveSheet.ChartObjects.ShapeRange.Name = "test"

With ActiveSheet.ChartObjects("test").Chart.SeriesCollection("パスタ")
.ChartType = xlLineMarkers
.AxisGroup = xlSecondary
.MarkerSize = 20
End With

【解説】
.hastitle=Trueとし,次に.charttitle.text="hogehoge"としてやれば良いです.快調快調.

【参考】
タイトルのフォントをいろいろ変えたい場合もあるでしょう.その場合は以下のように処理してあげましょう..hastitleのところに連ねて書いていきます.

まず,フォントをボールドにしたいとき
.ChartTitle.Font.Bold = True
ちなみにイタリックにしたい場合は想像通りitalicとします.

フォントのサイズを変えたい場合
.ChartTitle.Font.Size = 20

ま,こんなかんじで.

埋め込みグラフを作る その7(2軸のグラフ・折れ線のデータマーカーの大きさを変更する)

その6の2軸に変更時,折れ線グラフにしたがこのデータマーカーの大きさを変更するのもそれほど大きな変更がなくても大丈夫.以下に事例を示します.

【事例】

Sub Second_graph_make()

With ActiveSheet.ChartObjects.Add(50, 100, 300, 200).Chart
.SetSourceData Sheets("sheet1").Range("A3:D6")
End With

ActiveSheet.ChartObjects.ShapeRange.Name = "test"

With ActiveSheet.ChartObjects("test").Chart.SeriesCollection("パスタ")
.ChartType = xlLineMarkers
.AxisGroup = xlSecondary
.MarkerSize = 20
End With

【解説】
Withステートメントのところに「.MarkerSize = ??」のようにしてサイズを設定することができます.

【参考】
データマーカーのスタイルを変更したい場合は以下の通り.
.MarkerStyle = xlMarkerStyleDiamond

マーカースタイルの種類













xlMakerStyleAutomatic自動マーカー
xlMakerStyleCircle円形
xlMakerStyleDash長い棒
xlMakerStyleDiamondひし形
xlMakerStyleDot短い棒
xlMakerStyleNoneマーカーなし
xlMakerStylePicture画像
xlMakerStylePlus
xlMakerStyleSquare四角
xlMakerStyleStarアスタリスク
xlMakerStyleTriangle三角
xlMakerStyleSyleX×印つき四角

埋め込みグラフを作る その6(2軸のグラフにする)

その5にちょっと継ぎ足すだけで2軸のグラフを作成することができます.以下に示します.

【事例】
Sub Second_graph_make()

With ActiveSheet.ChartObjects.Add(50, 100, 300, 200).Chart
.SetSourceData Sheets("sheet1").Range("A3:D6")
End With

ActiveSheet.ChartObjects.ShapeRange.Name = "test"

With ActiveSheet.ChartObjects("test").Chart.SeriesCollection("パスタ")
.ChartType = xlLineMarkers
.AxisGroup = xlSecondary
End With

結構簡単に2軸にすることができました.これは使える(メモメモ).
End Sub