- ベストアンサー
セルA1とF1、A2とF2、A3とF3…を比較して、内容が同じであれば"〆指示済"、異なれば"未〆指示"をD列に表示するようなVBA
たとえばセルA1とF1、A2とF2、A3とF3…を比較して、内容が同じであれば"〆指示済"、異なれば"未〆指示"をD列に表示するようなVBAって出来ますか? ・「作業中フォルダ」に存在するファイルのリストをA列に、「〆指示フォルダ」に存在するファイルのリストをE列に表示 ・両者をVLOOKUPで照合したリストをF列に表示 以上の作業をVBAで行ったデータがあるのですが、その先がつまづいてしまってます… r = 202 i = 3 Cells(i, 6) = Application.VLookup(Cells(i, 1), Worksheets("作業中リスト").Range("E3:E" & r), 1, False) For i = 3 To r If Cells(i, 1) = "" Then Cells(i, 4) = "" ElseIf Cells(i, 1) = Cells(i, 6) Then Cells(i, 4) = "〆指示済" Else Cells(i, 4) = "未〆指示" End If Next i ElseIfのところで「実行時エラー'13':型が一致しません。」としかられてしまいます… これって間違ってるのでしょうか?? 初心者及び独学なので「参考書買え!」といわれればそれまでなのですが、どうかご教授願えませんでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ElseIf Cells(i,1) = Cells(i, 6) Then の部分で 「実行時エラー'13':型が一致しません。」 と出るのはANo.1さんが指摘されて、既に確認されたとおり#N/Aエラーが発生しているためです。 For 文の前に Cells(i, 6)の内容を""や"エラー"などに置き換えてはどうでしょうか? If IsError(Cells(i, 6)) Then Cells(i, 6) = "" End If など > Cells(i, 6) = Application.IsError(Application.VLookup(Cells(i, 1), Worksheets("作業中リスト").Range("E3:E" & r), 1, False), "", Application.VLookup(Cells(i, 1), Worksheets("作業中リスト").Range("E3:E" & r), 1, False)) の部分がエラーになるのは、IsErrorワークシート関数の使い方が間違っているためです。 恐らくIFワークシート関数を入れるのを忘れていませんか?
その他の回答 (1)
- hana-hana3
- ベストアンサー率31% (4940/15541)
>ElseIfのところで「実行時エラー'13':型が一致しません。」としかられてしまいます… セルにエラーになっている式はありませんか?
補足
F3が#N/Aとなっています。ですが、IsErrorで以下のように書き直してもダメでした…今度は実行時エラー'1004':引数の数の誤りがありますとなってしまいました。デバッグすると以下の部分が黄色くなってます。 Cells(i, 6) = Application.IsError(Application.VLookup(Cells(i, 1), Worksheets("作業中リスト").Range("E3:E" & r), 1, False), "", Application.VLookup(Cells(i, 1), Worksheets("作業中リスト").Range("E3:E" & r), 1, False))
お礼
Masa2072さま、 ありがとうございます!以下のような形で上手くいきました。 r = 202 i = 3 For i = 3 To r Cells(i, 6) = Application.VLookup(Cells(i, 1), Worksheets("作業中リスト").Range("E3:E" & r), 1, False) If IsError(Cells(i, 6)) Then Cells(i, 6) = "エラー" End If If Cells(i, 1) = "" Then Cells(i, 4) = "" ElseIf Cells(i, 1) = Cells(i, 6) Then Cells(i, 4) = "〆指示済" Else Cells(i, 4) = "未〆指示" End If Next i 独学かつ、手探り状態だったので本当に助かりました。 上手く動くと嬉しいものですね! VBAの参考書を探して、本格的に勉強してみようかと思ってます。 ヒントを下さったhana-hana3さまにもこの場を借りてお礼申し上げます。 ありがとうございました。