2016-05-09 12 views
0

私はいくつかの助けが必要です。VBAで2つのvlookup式を組み合わせる

12枚のシートからC(Net Close Qty)とT(Scrap Yield)の2列を取得し、その値をそれぞれの製品コードと一致させたいと考えています。私は列CとTに2つの異なるvlookup公式を使用しています:

= VLOOKUP($ A2:$ A226、'01 '!$ A $ 2:$ T $ 144,3、FALSE)列番号T(Scrap Yield)のVLOOKUP($ A2:$ A226、'01 '!$ A $ 2:$ T $ 144,20、FALSE)

このコードは最初の列

両方の式を1つのVBAに組み合わせることはできますか?可能であれば、これらの2つの式をどのシートごとに繰り返すのですか?マクロを使って自動化できるようにする必要があります。私はまだ学んでいるので、誰かが私にいくつかのアイデアを与えることを願っています。どうもありがとうございました。

はあなたが Resize方法でループとステップカウンタ使用することができ

答えて

0

lastRow = .Cells(.Rows.Count, "D").End(xlUp).Row 

として:あなたの元のコードに

Sub test() 
    Dim lastRow As Long 
    Dim j As Byte 

    j = 1 

'// 3(space between columns) x 12(sheets) x 2(lookup columns in each sheet) 
For i = 3 To ((3 * 12) * 2) Step 3 
    With Sheets("Summary") 
     With .Cells(2, i).Resize(.Cells(.Rows.count, 1).End(xlUp).Row - 1, 1) 
      .Formula = "=VLOOKUP($A2,'" & Format$(j, "00") & "'!$A$2:$T$144," & IIf(i Mod 6 = 3, 3, 20) & ",FALSE)" 
      .value = .value 
     End With 
    End With 

    j = j + 1 
Next 

End Sub 

注あなたは、列Dからの最後の行を取得しますスクリーンショットごとに列Dには何もありません。代わりに列Aを使用しました。

.Cells(.Rows.count, 1) 
関連する問題