エクセルの文字にクリックしたら丸〇印をつけるVBA

丸印をつける 図形の操作
スポンサーリンク

日常生活でカレンダーに〇印を付ける事をエクセルでもやりたいなあ~って悩んだことありませんか?

もちろんできますが、1個や2個だけ〇印をつけるならいいのですが、たくさんあったらとても面倒で作業効率が悪いですよね。

そこで、コマンドボタン1回押せば〇印をつけたいセルに〇印が付けられるようにしましょう。

とりっぷぼうる
とりっぷぼうる

〇丸印をつけるにはshapesコレクションを使います。

スポンサーリンク

選択したセルに〇丸印をつける

ここでは、カレンダーの日付の数字に〇をつけるVBAコードをコマンドボタンに書いている事例をお話しします。

〇印を付けたいセルをクリック

この方法ならば、まず〇印をつけたいセル(日付)をクリックすることにより、セルが選択されます(Activecell)

次に、ワークシート上に配置されたコマンドボタンを押すと、選択されていたセルの枠線内に〇丸印をつけることができます。

〇丸印の色もRGBにて好きな色に指定もできますので、1か所ずつ好きな場所に〇丸印をつけてみましょう。

選択したセルに〇丸印をつけるVBA

Sub 丸印つけ()
Dim i As Range
Set i = ActiveCell
With ActiveSheet.Shapes.AddShape(msoShapeOval, i.Left, i.Top, i.Width, i.Height)
.Fill.Visible = False
.Line.ForeColor.RGB = RGB(0, 0, 255)
End With
Set i = Nothing
End Sub

VBA解説
  1. 「丸印つけ」という名のマクロを実行する
  2. セルを扱う(Range型)変数「i」を宣言する
  3. 変数「i」は選択されているセルで代入する
  4. 選択されているセルの大きさに合わせて形は〇丸印にする
  5. グラフの枠線を書く
  6. 色はRBGの青色にする
  7. Withステートメント終了
  8. グラフの〇丸印の塗りつぶしはしない
  9. マクロ記録終了

これで、〇丸印をつけたいセルをまずクリックしてからコマンドボタンを押すと〇丸印をつけることができました。

丸印をつける

ちなみに今回は〇丸印の色を青色に指定しましたが、RGBの色設定によりお好みの色に変更することができますので色見本などは下記よりご覧くださいませ。

スポンサーリンク

指定したセルに〇丸印をつける

さきほどの方法だとどこでも自由にセルの文字に〇丸印をつけることができますが、あらかじめコマンドボタンにセルを指定してしまえば、ボタンを押すだけで指定したセルの文字に〇丸印をつけることができます。

たった1行VBAコードを足すだけなので、とても簡単ですよ。

ボタンに〇丸印をつけるセル番地を書き込む

Sub 丸印A1 ()
Range(“A1”).Select
Dim i As Range
Set i = ActiveCell
With ActiveSheet.Shapes.AddShape(msoShapeOval, i.Left, i.Top, i.Width, i.Height)
.Fill.Visible = False
.Line.ForeColor.RGB = RGB(0, 0, 255)
End With
Set i = Nothing
End Sub

赤色のアンダーラインの部分「Range(“A1”).Select」を足しただけです。

もし、決まったセルにいつも〇丸印をつける事が多いなら、A1以外のセルをしたいしたコマンドボタンを複数用意しておけば、コマンドボタンを押すだけで〇丸印をつけることができ、セルを選択する手間が省けて作業効率化できます。

とりっぷぼうる
とりっぷぼうる

セルの文字に〇丸印をつけることができたのならば、今度は反対に〇丸印を消すことができないと困りますよね。

さらについでに、消去つながりで、エクセルVBAで表示したり非表示にしたり、つけたり消したりなど様々なことができますので、ぜひ参考にして下さいね。

ここでは、カレンダーをワークシートで作成しているのですが、ユーザーフォームを使って日付ボタンを押すことができるようにしませんか?

スポンサーリンク

〇丸印の代わりに四角やハート型で囲む(オートシェイプ)

基本的に〇丸印で文字を囲むことが多いと思いますが、遊び心で四角やハート型などで文字を囲むこともできます。

方法は簡単で、丸で囲む事を指定したShapesコレクションのAddShapeメソッドの定数(〇丸印はmsoShapeOval)の部分➡黄色のアンダーバーの部分を変更するだけです。

図形 定数
1 四角形 msoShapeRectangle 四角形
2 平行四辺形 msoShapeParallelogram 平行四辺形
3 台形 msoShapeTrapezoid 台形
4 ひし形 msoShapeDiamond ひし形
5 角丸四角形 msoShapeRoundedRectangle 角丸四角形
6 八角形 msoShapeOctagon 八角形
7 二等辺三角形 msoShapeIsoscelesTriangle 二等辺三角形
8 直角三角形 msoShapeRightTriangle 直角三角形
9 楕円 msoShapeOval 楕円
10 六角形 msoShapeHexagon 六角形
11 十字形 msoShapeCross 十字形
12 ホームベース msoShapeRegularPentagon ホームベース
13 円柱 msoShapeCan 円柱
14 直方体 msoShapeCube 直方体
15 斜角 msoShapeBevel 斜角
16 メモ msoShapeFoldedCorner メモ
17 スマイル msoShapeSmileyFace スマイル
18 ドーナツ msoShapeDonut ドーナツ
19 禁止 msoShapeNoSymbol 禁止
20 アーチ msoShapeBlockArc アーチ
21 ハート msoShapeHeart ハート
22 稲妻 msoShapeLightningBolt 稲妻
23 太陽 msoShapeSun 太陽
24 月 msoShapeMoon
25 円弧 msoShapeArc 円弧
26 大かっこ msoShapeDoubleBracket 大かっこ
27 中かっこ msoShapeDoubleBrace 中かっこ
28 ブローチ msoShapePlaque ブローチ
29 左大かっこ msoShapeLeftBracket 左大かっこ
30 右大かっこ msoShapeRightBracket 右大かっこ
31 左中かっこ msoShapeLeftBrace 左中かっこ
32 右中かっこ msoShapeRightBrace 右中かっこ
33 右向きブロック矢印 msoShapeRightArrow 右向きブロック矢印
34 左向きブロック矢印 msoShapeLeftArrow 左向きブロック矢印
35 上向きブロック矢印 msoShapeUpArrow 上向きブロック矢印
36 下向きブロック矢印 msoShapeDownArrow 下向きブロック矢印
37 左右ブロック矢印 msoShapeLeftRightArrow 左右ブロック矢印
38 上下2方向ブロック矢印 msoShapeUpDownArrow 上下2方向ブロック矢印
39 4方向ブロック矢印 msoShapeQuadArrow 4方向ブロック矢印
40 左右上の3方向ブロック矢印 msoShapeLeftRightUpArrow 左右上の3方向ブロック矢印
41 90°の曲線に続くブロック矢印 msoShapeBentArrow 90°の曲線に続くブロック矢印
42 U字型のブロック矢印 msoShapeUTurnArrow U字型のブロック矢印
43 左および上矢印の2方向ブロック矢印 msoShapeLeftUpArrow 左および上矢印の2方向ブロック矢印
44 90°の鋭角線に続くブロック矢印 msoShapeBentUpArrow 90°の鋭角線に続くブロック矢印
45 右カーブブロック矢印 msoShapeCurvedRightArrow 右カーブブロック矢印
46 左カーブブロック矢印 msoShapeCurvedLeftArrow 左カーブブロック矢印
47 上カーブブロック矢印 msoShapeCurvedUpArrow 上カーブブロック矢印
48 下カーブブロック矢印 msoShapeCurvedDownArrow 下カーブブロック矢印
49 先にストライプの付いた右向きのブロック矢印 msoShapeStripedRightArrow 先にストライプの付いた右向きのブロック矢印
50 右向きのV字型矢印 msoShapeNotchedRightArrow 右向きのV字型矢印
51 ホームベース横 msoShapePentagon ホームベース横
52 山形 msoShapeChevron 山形
53 右矢印の付いた吹き出し msoShapeRightArrowCallout 右矢印の付いた吹き出し
54 左矢印の付いた吹き出し msoShapeLeftArrowCallout 左矢印の付いた吹き出し
55 上矢印の付いた吹き出し msoShapeUpArrowCallout 上矢印の付いた吹き出し
56 下矢印の付いた吹き出し msoShapeDownArrowCallout 下矢印の付いた吹き出し
57 左右矢印の付いた吹き出し msoShapeLeftRightArrowCallout 左右矢印の付いた吹き出し
58 上下のブロック矢印の付いた吹き出し msoShapeUpDownArrowCallout 上下のブロック矢印の付いた吹き出し
59 4方向矢印の付いた吹き出し msoShapeQuadArrowCallout 4方向矢印の付いた吹き出し
60 180°の曲線に続くブロック矢印 msoShapeCircularArrow 180°の曲線に続くブロック矢印
61 処理フローチャート記号 msoShapeFlowchartProcess 処理フローチャート記号
62 代替処理フローチャート記号 msoShapeFlowchartAlternateProcess 代替処理フローチャート記号
63 判断フローチャート記号 msoShapeFlowchartDecision 判断フローチャート記号
64 データフローチャート記号 msoShapeFlowchartData データフローチャート記号
65 定義済み処理フローチャート記号 msoShapeFlowchartPredefinedProcess 定義済み処理フローチャート記号
66 内部記憶フローチャート記号 msoShapeFlowchartInternalStorage 内部記憶フローチャート記号
67 書類フローチャート記号 msoShapeFlowchartDocument 書類フローチャート記号
68 複数書類フローチャート記号 msoShapeFlowchartMultidocument 複数書類フローチャート記号
69 端子フローチャート記号 msoShapeFlowchartTerminator 端子フローチャート記号
70 準備フローチャート記号 msoShapeFlowchartPreparation 準備フローチャート記号
71 手操作入力フローチャート記号 msoShapeFlowchartManualInput 手操作入力フローチャート記号
72 手作業フローチャート記号 msoShapeFlowchartManualOperation 手作業フローチャート記号
73 結合子フローチャート記号 msoShapeFlowchartConnector 結合子フローチャート記号
74 他ページ結合子フローチャート記号 msoShapeFlowchartOffpageConnector 他ページ結合子フローチャート記号
75 カードフローチャート記号 msoShapeFlowchartCard カードフローチャート記号
76 せん孔テープフローチャート記号 msoShapeFlowchartPunchedTape せん孔テープフローチャート記号
77 和接合フローチャート記号 msoShapeFlowchartSummingJunction 和接合フローチャート記号
78 論理和フローチャート記号 msoShapeFlowchartOr 論理和フローチャート記号
79 照合フローチャート記号 msoShapeFlowchartCollate 照合フローチャート記号
80 分類フローチャート記号 msoShapeFlowchartSort 分類フローチャート記号
81 抜き出しフローチャート記号 msoShapeFlowchartExtract 抜き出しフローチャート記号
82 組み合わせフローチャート記号 msoShapeFlowchartMerge 組み合わせフローチャート記号
83 記憶データフローチャート記号 msoShapeFlowchartStoredData 記憶データフローチャート記号
84 論理積ゲートフローチャート記号 msoShapeFlowchartDelay 論理積ゲートフローチャート記号
85 順次アクセス記憶フローチャート記号 msoShapeFlowchartSequentialAccessStorage 順次アクセス記憶フローチャート記号
86 磁気ディスクフローチャート記号 msoShapeFlowchartMagneticDisk 磁気ディスクフローチャート記号
87 直接アクセス記憶フローチャート記号 msoShapeFlowchartDirectAccessStorage 直接アクセス記憶フローチャート記号
88 表示フローチャート記号 msoShapeFlowchartDisplay 表示フローチャート記号
89 爆発 msoShapeExplosion1 爆発
90 爆発2 msoShapeExplosion2 爆発2
91 星4 msoShape4pointStar 星4
92 星5 msoShape5pointStar 星5
93 星8 msoShape8pointStar 星8
94 星16 msoShape16pointSta 星16
95 星24 msoShape24pointStar 星24
96 星32 msoShape32pointStar 星32
97 リボンの端よりも上に中央面があるリボン msoShapeUpRibbon リボンの端よりも上に中央面があるリボン
98 リボンの端よりも下に中央面があるリボン msoShapeDownRibbon リボンの端よりも下に中央面があるリボン
99 上カーブリボン msoShapeCurvedUpRibbon 上カーブリボン
100 下カーブ リボン msoShapeCurvedDownRibbon 下カーブ リボン
101 縦巻き msoShapeVerticalScroll 縦巻き
102 横巻き msoShapeHorizontalScroll 横巻き
103 大波 msoShapeWave 大波
104 小波 msoShapeDoubleWave 小波
105 四角形吹き出し msoShapeRectangularCallout 四角形吹き出し
106 角丸四角形吹き出し msoShapeRoundedRectangularCallout 角丸四角形吹き出し
107 円形吹き出し msoShapeOvalCallout 円形吹き出し
108 雲形吹き出し msoShapeCloudCallout 雲形吹き出し
109 枠付きで、水平の吹き出し線の付いた吹き出し msoShapeLineCallout1 枠付き水平の吹き出し線の付いた吹き出し
110 斜めの直線の付いた吹き出し msoShapeLineCallout2 斜めの直線の付いた吹き出し
111 折れ線の付いた吹き出し msoShapeLineCallout3 折れ線の付いた吹き出し
112 U字型の吹き出し線分の付いた吹き出し msoShapeLineCallout4 U字型の吹き出し線分の付いた吹き出し
113 水平の強調線の付いた吹き出し msoShapeLineCallout1AccentBar 水平の強調線の付いた吹き出し
114 斜めの吹き出し線と強調線の付いた吹き出し msoShapeLineCallout2AccentBar 斜めの吹き出し線と強調線の付いた吹き出し
115 折れた吹き出し線と強調線の付いた吹き出し msoShapeLineCallout3AccentBar 折れた吹き出し線と強調線の付いた吹き出し
126 ホーム msoShapeActionButtonHome ホーム
127 ヘルプ msoShapeActionButtonHelp ヘルプ
128 情報 msoShapeActionButtonInformation 情報
129 戻る msoShapeActionButtonBackorPrevious 戻る
130 進む msoShapeActionButtonForwardorNext 進む
131 コマ戻し msoShapeActionButtonBeginning コマ戻し
132 コマ送り msoShapeActionButtonEnd コマ送り
133 戻る2 msoShapeActionButtonReturn 戻る
134 文書 msoShapeActionButtonDocument 文書
135 サウンド msoShapeActionButtonSound サウンド
136 ビデオ msoShapeActionButtonMovie ビデオ

※116~120・137は同一模様の為省略

図形関連