Excelのこととか色々

Excel のこととか楽天とか いろいろ書いてみます・・・

【Excel/VBA のこと11...マクロの記録でコードを探す④オートシェイプ】

【Excel/VBA のこと 11】

f:id:tuna-kichi:20200223230704p:plain

オートシェイプの角丸四角、塗りつぶし無し、線の色:赤、線の太さ:2.25pt

f:id:tuna-kichi:20200411214102p:plain(こんなやつ)

を頻繁に使うので、「既定の図形に設定」を設定するのですが、どういう訳か、

翌日 Excel を起動させると、この設定がデフォルトのオートシェイプに

戻っていて、また、作り直さないといけないことが何度もありました。

 

なので、マクロにして、いつでも使えるようにしています。

このマクロも「マクロの記録」を使って記述します。

 

 

 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

 オートシェイプ

f:id:tuna-kichi:20200411214102p:plain

このオートシェイプを手動で作成するには・・・

1.【挿入】タブ

2.【図形】

3.【四角形】の中の左から2番目クリック

4.適当に作成

 

f:id:tuna-kichi:20200411215430p:plain

 

5.作成したオートシェイプを選択すると(選択されたままだと)

  【書式】タブ表示されるので、【図形の塗りつぶし▼】をクリック

f:id:tuna-kichi:20200411221057p:plain

 

6.【塗りつぶしなし(N)】をクリック

  (これで枠線だけになりました)

f:id:tuna-kichi:20200411220103p:plain

 

7.【図形の枠線】

8.【太さ】

9.【2.25pt】をクリック

f:id:tuna-kichi:20200411222153p:plain

 

これで角が丸い赤の枠が作成できました。

これを、「マクロの記録」でマクロを記録してみます。

 

マクロの記録

マクロ

マクロの記録については、こちらの記事を参考にしてください。
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

 

あとはリボンに登録して、いつでも使えるようにしましょう。

登録方法はこちらを参考にしてください。

 

www.tuna-kichi.com

  

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/