InputBoxを使ってコメントを作成する(非表示オプション付き)
コメントを作成するとき、通常「コメントの挿入>内容を編集>場合によって非表示に設定」という流れです。現在仕事でやっている作業では大量の非表示コメントをどんどんつけていくということをやっており、通常の方法では非常に面倒くさいです。そこで、InputBox関数を使ってコメントを作成し、簡単な方法で表示と非表示を選べるコードを書いてみました。
コード
Sub AddKome() ' ** コメントを追加する ** If TypeName(ActiveCell.Comment) = "Comment" Then MsgBox "既にコメントがあります。", vbOKOnly + vbExclamation Exit Sub End If Dim CL As Range Dim StrComment As String Dim RTmp As Variant Dim BoolVisibleComment As Boolean StrComment = InputBox("コメント? (文末に ` を入れると非表示)", "コメントを追加") ' ** キャンセル処理 If StrPtr(StrComment) = 0 Then 'キャンセルボタン Exit Sub ElseIf StrComment = "" Then '空白入力 Exit Sub End If ' ** 文末に'`'が入っていたらコメントを非表示で追加する If Right(StrComment, 1) = "`" Then RTmp = Split(StrComment, "`") StrComment = RTmp(0) BoolVisibleComment = False Else BoolVisibleComment = True End If For Each CL In Selection ' ** コメントの追加 With CL.AddComment(StrComment) .Visible = True End With ' ** コメントの書式等 With CL.Comment .Shape.Fill.ForeColor.RGB = RGB(255, 255, 0) With .Shape.TextFrame .Characters.Font.Size = 9 .AutoSize = True End With .Visible = BoolVisibleComment End With Next CL End Sub
- 既にコメントがある場合は警告して終了
- 空白のままOKした場合キャンセル扱いとして終了
- 文末に ` (Shift + @)が入っていたらコメントを非表示で追加する処理
- 範囲選択の場合は同じコメントを一斉入力
既にコメントがある場合
コメントを追加