アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル マクロをご教示ください。

1行目はタイトル行
現在、下記の様に構文を書きましたが
If Cells(i, 18) <> "1111/11/11" And Cells(i, 17) = "×" Then の所で
エラーが出ます。
R列2行目に1111/11/11があり
エラー文は Cells(i, 18)="1111/11/11" 、 Cells(i, 17) =エラー2015 、i=2
因みにQ2には関数が入っていて #VALUE!

Dim myRng1 As Range
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 18) <> "1111/11/11" And Cells(i, 17) = "×" Then '←ここでエラー
Set myRng1 = Range(Cells(i, "A"), Cells(i, "AE"))
myRng1.Interior.Color = RGB(255, 192, 0)
End If
Next

宜しくお願いいたします。

A 回答 (2件)

こんにちは



当方の環境では「エラー13」になりますね。
そうであれば、セルのエラー値と文字列を比較しようとして、できないという意味になりますが、どうやら異なる状況のようなご質問なので・・

試しに、
 Cells(i, 17) = "×"

 Cells(i, 17).Text = "×"
にすることで、通ったりしませんか?
    • good
    • 2
この回答へのお礼

ご指摘の通りでした。
ありがとうございました。

お礼日時:2022/07/02 11:04

以下のようにしてください。


エラーになっているセルは、読み飛ばします。

Dim myRng1 As Range
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If IsError(Cells(i, 17)) = False And IsError(Cells(i, 18)) = False Then
If Cells(i, 18) <> "1111/11/11" And Cells(i, 17) = "×" Then
Set myRng1 = Range(Cells(i, "A"), Cells(i, "AE"))
myRng1.Interior.Color = RGB(255, 192, 0)
End If
End If
Next
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!