エクセルマクロを0から独学で極める極意~ITを味方に~

エクセルマクロを0から独学で極める極意~ITを味方に~

一緒に独学でマクロを極めて、定時帰宅とスキルアップを目指しましょう!

11本目「結合セルのみコメント挿入」を学ぶ

お題

f:id:Rimux:20210729213736p:plain

ファイルはこちらから

基礎知識

MergeCellsとMergeArea

セルが結合されているかどうかの判定にはMergeCellsを用いる。
今回のお題では、コメントで結合セルに警告を表示するため、
その結合セルの判定に使用しています。
if Range.MergeCells then ' そのセルが結合されているなら
〜〜

Range.Comment / .ClearComments / .AddComment

Range.Comment 対象セルにコメントがあるかないか
Range.ClearComments 対象セルのコメント全消し
Range.AddComment "a" 対象セルにaとコメント挿入
Excel 2016では、コメントのTextFrame(およびTextFrame2)プロパティは読み取り専用です。
***回答

Sub odai11()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim rng As Range

For Each rng In ws.Range("A1").CurrentRegion
    If rng.MergeCells Then
        If rng.Address = rng.MergeArea.Item(1).Address Then
            If Not rng.Comment Is Nothing Then
                rng.ClearComments
            End If
            rng.AddComment " セル結合ダメ"
        'rng.Comment.Shape.TextFrame.AutoSize = True
        
            rng.Comment.Visible = True
        End If
    End If
Next
End Sub||<