2016-04-27 24 views
0

あるワークシートの選択をコピーして別のマスターワークシートの最初の空白行に貼り付けようとしています。いくつかのワークシートでこれを行う予定ですが、どうしてエラーメッセージが出るのか理解できません。私が見LastRowに基づく選択をコピーして貼り付け

Dim sht1 As Worksheet 
Dim sht2 As Worksheet 
Dim sht3 As Worksheet 
Dim shape As Excel.shape 

Set wsmaster = Sheets("Sheet 1") 
Set sht2 = Sheets("Sheet 2") 
Set sht3 = Sheets("Sheet 3") 

LR = wsmaster.Range("A" & Rows.Count).End(xlUp).Row 
NR = wsmaster.Range("A" & Rows.Count).End(xlUp).Row + 1 

With ThisWorkbook 
sht2.Range("A:AI").Copy 
wsmaster.Range("A" & NR).PasteSpecial Paste:=pastevalues 
End With 
+0

どのようなエラーメッセージが表示されますか? –

+0

実行時エラー '1004':アプリケーション定義またはオブジェクト定義エラー。ペーストラインで発生します。私はこれをさまざまな形で試してみましたが、無駄です。私はそれが正しいセルを選択することで動作することを確認したが、それはペーストされません。 – Ben

答えて

0

1つの問題は、あなたが、細胞Range("A" & NR)に列Range("A:AI")の範囲をコピーしようとしているということです。

  1. wsmasterを定義

    また、それをそのままWith Thisworkbookラッパーを削除

  2. を使用されていないよう
  3. LRを取り外します(私はそれがsht1がために使用推測している)あなたのコードを向上させることができます必要ない
+0

どのように最後の行を使用してワークシートに貼り付けますか?このレポートで私は列A:AIが必要であることを知っていますが、最後の部分は変更される可能性があります。残りの変数に関しては、完全なプロジェクトで使用されていますが、私はこの部分だけに問題があります。 – Ben

+0

コピーしようとしていることを明確にしてください。コードは、行ベースのデータではなく、列全体をコピーしていることを示しています。 – yk11

+0

範囲はA1:AI65523です。私は、このレポートをプルする必要があるときに、最後の部分が変更される可能性があるので、最後の部分を参照することなく、セット全体をキャプチャするために列形式を使用しました。私はsht2.Range(セル(1,1)、セル(LR、35))を使用することができます。範囲を選択して選択しますが、マスターワークシートの最初の利用可能な行にどのように貼り付けますか? – Ben

0

私はそれを理解することができました

LR = Cells(Rows.Count, "A").End(xlUp).Row 
NR = Cells(Rows.Count, "A").End(xlUp).Row + 1 

sht2.Activate 
sht2.Range(Cells(1, 1), Cells(LR, 35)).Copy 
sht1.Activate 
sht1.Range("A" & NR).PasteSpecial Paste:=xlPasteValues 
関連する問題