2017-12-21 11 views
0

初回投稿と比較的新しい繰り返し返します。値としてVlookupsを含む範囲を貼り付けるVBAを使用して、最初の値はVBAに

は、列Aにおいて、Iは請求書#Sのリストを持っており、列Bは、販売チャネルは、請求書(会社、小売など)を発信し返しVLOOKUPです。これらの値をコピーして別のワークシートに貼り付けるVBAマクロを作成しようとしています。私がすると、最初のvlookupの値をすべての行に貼り付けます(行Aは問題なく動作します)。

'Finds Last Row of Raw Data 
With WB1 
Worksheets("Raw Data").Select 
    lRow = Cells.Find(What:="*", _ 
       After:=Range("A1"), _ 
       LookAt:=xlPart, _ 
       LookIn:=xlFormulas, _ 
       SearchOrder:=xlByRows, _ 
       SearchDirection:=xlPrevious, _ 
       MatchCase:=False).Row 
End With 

'Copy and Paste Department info 
Worksheets("Raw Data").Range("GF1:GF" & lRow).Copy 
Worksheets("DataForReport").Range("B1").PasteSpecial xlPasteValues 

これは私が取り組んでいる大きなマクロのほんの一部です。もっとコードが必要な場合は、私に知らせてください。もっと大きな部分を投稿することができます。あなたの時間と助けてくれてありがとう!

+0

「列Bは、VLOOKUP関数である」 - あなたは、列Bからコピーされていません - あなたは、カラムGFからコピーしています。また、なぜWith WB1'ブロックがあり、ブロック内のどこにでも 'With'オブジェクトを使用しないのですか? – YowE3K

答えて

0

ソースは2列にありませんか? Worksheets("Raw Data").Range("GF1:GF" & lRow).Copy

をし、それを貼り付け:

あなただけのコラム "GF" をコピーしているWorksheets("DataForReport").Range("B1").PasteSpecial xlPasteValues

あなたのソースデータの範囲とは何ですか? GF1:GG & lRow?

あなたの「With WB1 ... End with」は、このコードでは役に立たないようです。

試してみてください。

'Finds Last Row of Raw Data 
    lRow = Worksheets("Raw Data").usedrange.specialcells(xlcelltypelastcell).row 
'Copy and Paste Department info 
    Worksheets("Raw Data").Range("GF1:GG" & lRow).Copy 
    Worksheets("DataForReport").Range("B1").PasteSpecial xlPasteValues 

そして、あなたのニーズに範囲を適応させます。

関連する問題