2017-04-20 7 views
0

基本的には、新しいブックを作成し、すでに開いているブック(ファイル名)からデータをコピーして新しいブックに貼りたいとします。私は次のVBAコードを持っています:Excel vba selection.copyの宛先が正しく貼り付けられない

Workbooks.Add 
Set new_wb = ActiveWorkbook 
Workbooks(Filename).Worksheets("pivot").Range("A28").Activate 
ActiveCell.CurrentRegion.Select 
Selection.Copy Destination:=new_wb.Worksheets("Sheet1").Range("B2") 

しかし、私は新しいブックに何も貼り付けていません。したがって、私は何か悪いことをしていたのだろうかと思っていました。どんな洞察力も大変高く評価されます。ありがとう! SelectActivateを使用して

答えて

0

避けてください:

Workbooks.Add 
Set new_wb = ActiveWorkbook 
Workbooks(Filename).Worksheets("pivot").Range("A28").CurrentRegion.Copy Destination:=new_wb.Worksheets("Sheet1").Range("B2") 
+0

おかげで、このコードは完璧に動作します。私のコードがどこに間違っているのかを説明してもらえますか? –

+0

AFAIK、アクティブでないブックのセルをアクティブにすることはできないので、本当にあなたのコードは 'Range(" A28 ")。何とかその行があなたのコードをクラッシュさせなかったと仮定します(質問で言及しなかった 'On Error Resume Next'を持っているかもしれません)、アクティブなセルはまだ新しいブックにあります。空白のセルをコピーします。 – YowE3K

+0

ああ、私は 'On Error Resume Next'を持っています。今私はあなたの説明のおかげで、どこが間違っているかを見ます! –

関連する問題