PCメモ

Excelを中心とした業務改善の記録

VBA100本ノック11本目:セル結合の警告

excel-ubara.com

出題内容

画像のようにシートにはところどころにセル結合があります。
これは放置しておく訳にはいきません。
セル結合されているセルには、メモ(旧コメント)で警告文を出しましょう。
※シートは任意、警告文はご随意に

f:id:abv72:20210817114550p:plain

自分の解答

Sub vba11()

 

 Dim i As Long
 Dim LastRow As Long

 LastRow = Cells(Rows.Count, 1).End(xlUp).Row

 For i = 2 To LastRow
  If Cells(i, 3).MergeCells Then
   Cells(i, 3).AddComment "結合されています"
  End If
 Next i

 

End Sub

 3列目に対してのみ処理をかけている。
1、2列目のデータに結合されているセルがあってもコメントをつけることができない。
既にコメントされているセルに対してコメントをつけようとするとエラーになる。

修正

 一度コメントを削除してから、全セルに対して処理をかけるコードに修正。

Sub VBA11()

 Dim rng As Range

 

 'コメント削除
 Range("A1").CurrentRegion.ClearComments

 

 '全セルを対象
 For Each rng In Range("A1").CurrentRegion
  If rng.MergeCells Then
   rng.AddComment "セル結合されています"
  End If
 Next

End Sub