私が持っているマクロの一部は、SQL への接続を更新し (2 つの列のデータをタブに配置するクエリを実行しています)、クエリによって生成されたテーブルの既存の列のデータ (別のタブ) で vlookup を実行します。
'Refreshing Connection named Query From Warehouse
ActiveWorkbook.Connections("Query from Warehouse").Refresh
Range("M2").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP([@polid],RwlID,2,FALSE)),[@polid],VLOOKUP([@polid],RwlID,2,FALSE))"
RwlID という名前のクエリによって作成されたテーブル
私が抱えている問題は、vlookup が既に RwlID にあるデータに対してのみ機能していることです。接続の更新が完了する前に移動していたため、これが起こっているのではないかと思ったので、マクロ内の他のクエリの両側に2つのコードを移動しました(実行にはるかに時間がかかります)が、それは助けにはなりませんでした。
今、私は Excel がまだ RwlID が特定の長さだけであると考えていると考えています。たとえば、昨日は 400 行でしたが、今日は 450 行になりましたが、ルックアップは 400 しかありません。 (マクロのみで、マクロを実行した後に手動でルックアップを再度入力すると、期待どおりにセルが入力されます)
だから私は追加しようとしました(RlwIDはシート5にあります):
sheets(5).ListObjects(1).Name = "RwlID"
450 のテーブルの名前を 400 ではなく RwlID に変更するかもしれないと考えましたが、成功しませんでした。
それが機能しない理由はありますか?修正方法は?
ありがとう。