-1

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の仕組みです

4

1 に答える 1