Vlookup が台無しになり、列のすべての値をテキストに、すべての値を一般に変更しようとしました。これが私のコードです。vlookupを個別に実行できますが、それらを次々に実行する必要があり、最初のvlookup式が#N/Aまたは#NAMEまたは#VALUEで戻ってきたら、2番目のvlookup式を通過して入力する必要があります適切なフィールド、任意の提案、私は非常に多くの異なるバリエーションを試しました。ここに私が今持っているものがありますが、エラーは予想されるリスト区切り文字または(、IFERRORと2番目の関数を使用すると、ほとんどのブランド名はシリアル番号の4桁目と5桁目で判断できるため、すべての数値が機能しますが、一部のシリアルには文字があります所定の位置にあり、これが問題全体です。文字とダッシュを含むものもあります。A- は例です。これらすべてのタイプを VLOOKUP できるようにする必要がありますが、正確な値を持つフィールドを置き換えることはできません。そのため、最初の vlookup がすべての 2 番目の vlookup を置き換えて、エラーが発生したフィールドを埋めます。助けていただければ幸いです。
エラーを再現するコードです。
Sub Work2()
Dim LR As Long
Dim row As String
row = "W2"
row = "W" & x
LR = Range("W" & Rows.Count).End(xlUp).row
Range(Columns(6), Columns(7)).Select
For x = 0 To 2
row = "W" & x
Range("A2:A" & LR).Formula = "=IFERROR(VLOOKUP(VALUE(" & row & "),[gpic.xslx]Sheet1!$R:$S,2,FALSE),"=VLOOKUP(" & row & ",[gpic.xslx]Sheet1!$R:$S,2,FALSE)")"
Next
End Sub
これは、すべての数値 Vlookup フィールドを実行できるコードですが、文字を正しく実行できません。上記のコードで修正しようとしましたが、前述のようにエラーが発生します
Sub Work2()
Dim LR As Long
Dim row As String
row = "W2"
row = "W" & x
LR = Range("W" & Rows.Count).End(xlUp).row
Range(Columns(6), Columns(7)).Select
For x = 0 To 2
row = "W" & x
Range("A2:A" & LR).Formula = "=VLOOKUP(VALUE(" & row & "),[gpic.xslx]Sheet1!$R:$S,2,FALSE)"
Next
End Sub
追加情報については、私が参照したワークシートの R と S には、ブランドに等しいすべてのコードが含まれているため、実際には正しい結果または #VALUE のみが得られると思います。
Column R Column S
1 Ford
2 Dodge
AE Hyundai
それがvlookupsの仕組みです