【Excel/VBA のこと 11】
オートシェイプの角丸四角、塗りつぶし無し、線の色:赤、線の太さ:2.25pt
(こんなやつ)
を頻繁に使うので、「既定の図形に設定」を設定するのですが、どういう訳か、
翌日 Excel を起動させると、この設定がデフォルトのオートシェイプに
戻っていて、また、作り直さないといけないことが何度もありました。
なので、マクロにして、いつでも使えるようにしています。
このマクロも「マクロの記録」を使って記述します。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
オートシェイプ
このオートシェイプを手動で作成するには・・・
1.【挿入】タブ
2.【図形】
3.【四角形】の中の左から2番目クリック
4.適当に作成
5.作成したオートシェイプを選択すると(選択されたままだと)
【書式】タブ表示されるので、【図形の塗りつぶし▼】をクリック
6.【塗りつぶしなし(N)】をクリック
(これで枠線だけになりました)
7.【図形の枠線】
8.【太さ】
9.【2.25pt】をクリック
これで角が丸い赤の枠が作成できました。
これを、「マクロの記録」でマクロを記録してみます。
マクロの記録
マクロ
マクロの記録については、こちらの記事を参考にしてください。
www.tuna-kichi.com
記録されたコードはこちら
****************************************************************
Sub Macro9()
'
' Macro9 Macro
'
'
ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, 1139.1176377953, _
344.1176377953, 165, 101.4706299213).Select
Selection.ShapeRange.Fill.Visible = msoFalse
With Selection.ShapeRange.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
End With
End Sub
****************************************************************
ActiveSheet・・・アクティブシート、現在選択されているシート
Shapes・・・形
Add・・・追加
Rounded・・・まる、丸い、まあるい
Rectangle・・・四角
Select・・・選択
Range・・・範囲
Fill・・・埋める
Visible・・・見える
(mso)False・・・無し、間違い
With・・・一緒に(幅の意味の Width も同じ発音 ウィズ)
Line・・・線
(mso)True・・・本当、正解
ForeColor・・・前景色(背景の反対)
Transparency・・・透けている、透明度
ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, 1139.1176377953, _
344.1176377953, 165, 101.4706299213).Select
書き始めの、おまじない、としておきましょう。
でも、英単語をひとつずつみると、
「現在選択されているシートに形(図形)を追加して、その追加した形を選択」
って読めますよね。
数字の部分は、位置(座標)と長さです。
Selection.ShapeRange.Fill.Visible =msoFalse
つまり、「塗りつぶしなし」と指定しています。
With Selection.ShapeRange.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
End With
「With」を使った記述は、以下記述と同じで、赤字の同じ部分をまとめて、
簡潔で、見やすくします。
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0)
Selection.ShapeRange.Line.Transparency = 0
あとはリボンに登録して、いつでも使えるようにしましょう。
登録方法はこちらを参考にしてください。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/