- 締切済み
結合されたセルの隣に未があればセル赤にしたい
結合されたセルの隣が全て済なら無色 未があれば赤にしたいのです 下の表はイメージでこの場合A列3を赤くしたいのです 結合は3~6行で可変になってます。 ┌─┬───┬─┐ │ │ A │B │ ├─┼───┼─┤ │1 │ │済│ ├─┤ ├─┤ │2 │ 1 │済│ ├─┤ ├─┤ │3 │ │済│ ├─┼───┼─┤ │4 │ │済│ ├─┤ ├─┤ │5 │ │ │ ├─┤ 2 ├─┤ │6 │ │済│ ├─┤ ├─┤ │7 │ │済│ ├─┼───┼─┤ │8 │ │済│ ├─┤ ├─┤ │9 │ │ │ ├─┤ 3 ├─┤ │10│ │済│ ├─┤ ├─┤ │11│ │未│ └─┴───┴─┘ どうぞ宜しくお願いします。 表がずれていたら申し訳ありません。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- mitarashi
- ベストアンサー率59% (574/965)
全然すっきりしていませんが、マクロを書いてみました。ご参考まで。A列が空セルになったところで打ち切ります。 Sub test() Dim myCell As Range Set myCell = Range("a1") Do While myCell.Value <> "" myCell.Interior.ColorIndex = completeCheck(myCell) Set myCell = myCell.Offset(1, 0) Loop End Sub Private Function completeCheck(target As Range) As Long Dim myCell As Range Dim incompleteFlag As Boolean Dim completeFlag As Boolean completeFlag = True For Each myCell In target.MergeArea.Cells If myCell.Offset(0, 1).Value <> "済" Then completeFlag = False If myCell.Offset(0, 1).Value = "未" Then incompleteFlag = True End If End If Next myCell If completeFlag = True Then completeCheck = xlNone Else If incompleteFlag = True Then completeCheck = 3 Else completeCheck = target.Interior.ColorIndex End If End If End Function