2011-10-24 16 views
0

2つの異なるワークブックに2枚あります。 a)ワークブック(A)。シート b)ワークブック(B)。シート(B)他のワークブックの別のシートで値を見つけて、現在のワークブックのシートにコピーしてください

ブックAのシートAは宛先ファイルです。 ブックBのシートBがソースファイルです。

ユーザーシートAにB(シートBを開く)の入力ファイル名を入力し、シートBから参照値より大きい値を見つけるためにループします。見つかった値で、値はコピーされ、シートA(ブックb)に瞬時に貼り付けられます。次に、シートBにループバックして、後の値(基準値よりも大きい)を見つける。このプロセスは、特定の基準を満たすまで続きます。

私はループ内の値を見つけることができますが、シートBに値を貼り付けてからシートAにコピーする必要があります。確かに、シートBを保存するかどうかメッセージをクリックする必要があります。 以下はコードです書きました。 Plsは私を啓発する。

Dim VerR As Workbook 
Dim VerRDest As Worksheet 
Dim VerRMaxR As Range 

Application.ScreenUpdating = False 
XLS = Cells(16, 5) 
Workbooks(XLS).Activate 

Sheets("ROLLER").Select 
Path = Cells(18, 5) 
NoR = Cells(17, 5) 
Workbooks.Open Filename:=Path 

Set VerR = Workbooks(XLS) 
Sheets("Stat_1").Select   
y = 3 
i = 4 
Do While (Cells(i, 1) <> "") 
    i = i + 1 
Loop 

m2 = i - 1 
For x = 4 To m2 
    If (cells(x,2)>5) Then 
     y = y + 1 
     TF = True 
     If TF Then 
      Cells(y, 6) = Cells(x + 1, 1) 
      Cells(y, 5) = Cells(x + 1, 2) 
     End If 
    End If 
Next x 

Set VerMax1 = ActiveSheet.Range(Cells(4, 5), Cells(y, 6)) 
VerMax1.Copy 
ActiveWorkbook.Close 

Set VerRDest = VerR.Worksheets("ROLLER") 
Set VerRMaxR = VerRDest.Range(Cells(4, 3), Cells(y, 4)) 
VerRMaxR.PasteSpecial , Paste:=xlPasteValues 

私の目標は、ソースworkbook.Plsのヘルプに影響を与えずに値を貼り付けることです。ありがとうございます。私は本当にあなたの考えを感謝します。私は知恵の終わりです。

+0

私はきちんと答えとしてそれをマークしてください、あなたの質問に答えていることを感じた場合。 – Jon49

答えて

1
dim r1 as range, r2 as range 

r1.copy r2 

または

r1.copy 
r2.pastespecial .... 
+0

返事をありがとう。すべてのソースファイルを現在のワークブックにコピーします。その後、データの範囲をコピーします。それはうまくいく。結局のところ、データを削除するかどうかはユーザーに依存します。 –

関連する問題