2017-03-13 17 views
1

ユーザー定義の範囲をコピー&ペーストできますか?私は以下を持っていますが、何らかの理由でアクションを実行しようとするとエラーが発生しています。私は1つの小さな変化がないと思う。ありがとう。ユーザー定義の範囲をコピーして貼り付けます

Sheets("Sheets1").Select 
Dim lngLastRow2 As Long 

lngLastRow2 = Cells(Rows.Count, "A").End(xlUp).Row 

Worksheets("Sheets2").Range("A3:A" & lngLastRow).Copy _ 
Destination:=ActiveSheet.Range(lngLastRow2) 
+3

あなたがあなたの目的地の範囲内の列参照を必要とする、現在あなただけの持っています行。 – SJR

答えて

1

あなたはここでエラー持っています:

Destination:=ActiveSheet.Range(lngLastRow2) 

xはいくつかのLongある.Range(x)に評価されます。 Rangeに必要なものは.Range("A20")です。

一つの解決策は

Destination:=ActiveSheet.Range("A" & lngLastRow2) 

それとも別のソリューションに変更する代わりにRange変数を使用することである。

Dim lastRow As Range 
Set lastRow = ThisWorkbook.Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp) 
With ThisWorkbook.Worksheets("Sheet2") 
    .Range("A3:A" & lastRow.Row).Copy Destination:=.Range(lastRow.Address) 
End With 
+0

私はあなたから得たものに基づいて、データの単一の列にのみコピーしました。私がしようとしているのは、シート1の最後の行を決定し、シート2の最後の行を決定し、最初からすべてのデータをシート2の最後の行からシート1に最初のブランクからコピーすることです行。明らかに、最初の列だけでなく、シート2のデータを持つ列がすべて必要です。私はデータの最後の行を決定し、次にデータの最後の列を決定することを考えましたが、これはもっと複雑にしているようです。 – Danny

関連する問題