Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Microsoft 365)
重複の値に色付けするコードについて
投稿日時: 23/05/12 12:28:08
投稿者: takatada72

お疲れさまです。
 
ChatGPTで作ってもらったコードにてエラーが出てしまい、色々と質問をしてみたのですが、
回答の内容がわからないため、こちらへ投稿させて頂きました。
宜しくお願い致します。
 
コード: シート名「版下処理」のA列に番号が記載されていて、重複がある場合、重複セルに
色をつけるコードを作成してもらいました。
 
エラー内容:
アプリケーション定義またはオブジェクト定義のエラーです。
cell.Interior.Color = RGB(127, 255, 212)
 
 
     Dim cell As Range
    Dim rng As Range
 
    '「版下処理」をシート名に変更してください
    With ThisWorkbook.Worksheets("版下処理")
        Set rng = .Range("A2:A50")
    End With
 
    For Each cell In rng
        If WorksheetFunction.CountIf(rng, cell.Value) > 1 Then
            cell.Interior.Color = RGB(127, 255, 212) '好みの色に変更してください
        End If
    Next cell

回答
投稿日時: 23/05/12 13:10:01
投稿者: taitani
投稿者のウェブサイトに移動

For Each cell In rng の 上の行に、
Set cell = rng.Cells(1) を追加してもエラーになりますか?

投稿日時: 23/05/12 13:25:05
投稿者: takatada72

taitaniさん
 
早速、ありがとうございます。
追加しまして、実行したら、下記のようにエラーになりました。
お忙しいとは思いますが引き続き宜しくお願い致します。
 
アプリケーション定義またはオブジェクト定義のエラーです。

回答
投稿日時: 23/05/12 13:29:28
投稿者: sk

引用:
エラー内容:
アプリケーション定義またはオブジェクト定義のエラーです。
cell.Interior.Color = RGB(127, 255, 212)

ワークシート[版下処理]の保護が有効になっているからではないでしょうか。

投稿日時: 23/05/12 13:45:15
投稿者: takatada72

ありがとうございました。
 
A列は、シート保護のロックは、行っていないのですが、他の列には、ロックしておりました。
シート保護を解除したところ、エラーがでなくなりました。
 
ありがとうございました。