• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:行ごとに判定するマクロについて教えて下さい)

行ごとに判定するマクロについての要約

このQ&Aのポイント
  • 行ごとに判定するマクロについて教えて下さい。
  • 行ごとに判定するマクロを組みたいのですが、現在のマクロでは行ごとではなく、指定のセル範囲全体で同じ数値がないかを判断しています。
  • 何か他の方法で行ごとに判定するように修正する方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.4

偶数行と奇数行で色分けを忘れてました。たびたび訂正ですみません。 Sub example() Dim i As Integer Range(Cells(3, "O"), Cells(102, "O")).ClearContents Range(Cells(3, "E"), Cells(102, "N")).Interior.ColorIndex = 0 For i = 3 To 102 If WorksheetFunction.CountIf(Range(Cells(i, "E"), Cells(i, "N")), Cells(i, "E")) > 3 Then With Union(Cells(i, "E"), Cells(i, "H"), Cells(i, "K"), Cells(i, "N")) If i Mod 2 = 1 Then .Interior.ColorIndex = 6 Else .Interior.ColorIndex = 40 End If End With Cells(i, "O") = "OK" End If Next If WorksheetFunction.CountIf(Range("O3:O102"), "OK") > 99 Then MsgBox "データチェックOK(^O^)b" End If End Sub

yyrd0421
質問者

お礼

ご回答ありがとうございました。 希望通りのマクロになり大変勉強になりました。 何度も訂正、追加もして頂きありがとうございます。 今後ともよろしくお願いします。

その他の回答 (3)

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.3

訂正 Range(Cells(3, "O"), Cells(102, "O")).Interior.ColorIndex = 0 ↓ Range(Cells(3, "E"), Cells(102, "N")).Interior.ColorIndex = 0 でした。

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.2

行全部を対象にするとまずい場合(E列からN列までを対象にする場合) If WorksheetFunction.CountIf(Rows(i), Cells(i, "E")) > 3 Then ↓ If WorksheetFunction.CountIf(Range(Cells(i, "E"), Cells(i, "N")), Cells(i, "E")) > 3 Then に変更してください。

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.1

下記でいかがでしょう。 Sub example() Dim i As Integer, j As Integer Range(Cells(3, "O"), Cells(102, "O")).ClearContents Range(Cells(3, "O"), Cells(102, "O")).Interior.ColorIndex = 0 For i = 3 To 102 If WorksheetFunction.CountIf(Rows(i), Cells(i, "E")) > 3 Then Union(Cells(i, "E"), Cells(i, "H"), Cells(i, "K"), Cells(i, "N")).Interior.ColorIndex = 6 Cells(i, "O") = "OK" End If Next If WorksheetFunction.CountIf(Range("O3:O102"), "OK") > 99 Then MsgBox "データチェックOK(^O^)b" End If End Sub

関連するQ&A