私は自分のコードでこのループを実行していますが、AV列のいくつかのセルに#N/Aがあり、エラーが発生しています。残りの部分はこれまでのものと同じですが、#N/Aに当たったら停止します。 IFERRORやISNAのようなものを見つけましたが、私のコードにどのように記述するのか分かりませんでした。私はちょうど#N/Aを無視して、#N/Aをそのまま残して次の行に移動したいだけです。私はちょうどそれをスキップし、コードを続行したい。私はこれでどのようにできるでしょうか?forループでN/Aをスキップする方法をそのままのままにして続けますか?
Dim lngRow As Long
Dim lngRows As Long
'Find the last row in Column A
lngRows = Range("A" & Rows.Count).End(xlUp).Row
For lngRow = lngRows To 2 Step -1
If (LCase(ActiveWorkbook.Worksheets("SAP to ADP").Cells(lngRow, "AV").Value) = "lu" _
Or LCase(ActiveWorkbook.Worksheets("SAP to ADP").Cells(lngRow, "AV").Value) = "st" _
Or LCase(ActiveWorkbook.Worksheets("SAP to ADP").Cells(lngRow, "AV").Value) = "so") _
And LCase(ActiveWorkbook.Worksheets("SAP to ADP").Cells(lngRow, "AU").Value) = "union" Then
ActiveWorkbook.Worksheets("SAP to ADP").Cells(lngRow, "AW").Value = "MATCH"
End If
Next
ありがとうございました!
ありがとうございました。私はあなたがコードを修正したのが好きです。今はもっと良く見えます。私は問題がある。コードの種類は動作しますが、#N/Aをスキップした後、次のものにバグがあり、型の不一致があります。私はそれが既に1つをスキップすることがわかりますが。たぶん、私は覚えていないセルにN/Aと打ち込んだだけです。しかし、それがエラーをヒットしたら、それは続かないでしょう... – Robillard
また、あなたは中間の値を述べました。それはあなたがそこに置く "s"の価値ですか?私はあなたがそれをどうやってしたのが、それがあなたが意味するものなのか疑問に思っています。 – Robillard
あなたは正しいです、後続のランタイムエラーは捕まえられませんでした。私はコードを変更し、すべてのエラーを無視するようになりました。これは、操作上のコード自体を変更する必要はなく、 'On Error'ステートメントだけを追加することです。そして、はい、小文字のシートから読み込まれた値は複数回使用され、変数 's'に割り当てられます。 – user1016274