2016-05-31 10 views
0

こんにちは私は、既存のシートから特定のものを貼り付けるコピーによって新しいシートを生成するこのExcelマクロを持っています。基本的に最初の3つの段落が3回繰り返されており、最後の10番目の段落は単なる列の入力にすぎません。しかし、第7、第8、第9パラについては、私にそれを示す 'エラー 1004のコピーとペースト領域は同じではない'です。Excelのコピー貼り付け領域が同じではない

Sub Macro1() 
    ' 
    ' Macro1 Macro 
    ' 

    ' 
     Sheets.Add After:=ActiveSheet 
     Sheets("Sheet1").Select 
     Sheets("Sheet1").Move Before:=Sheets(2) 
     Range("A1").Select 
     ActiveCell.FormulaR1C1 = "Product Number" 
     Range("B1").Select 
     ActiveCell.FormulaR1C1 = "Product Desc" 
     Range("C1").Select 
     ActiveCell.FormulaR1C1 = "Service Type" 
     Range("D1").Select 
     ActiveCell.FormulaR1C1 = "Service Level" 
     Range("E1").Select 
     ActiveCell.FormulaR1C1 = "Service P/N" 
     Range("F1").Select 
     ActiveCell.FormulaR1C1 = "APAC(USD)" 
     Range("F2").Select 
Columns("A:A").ColumnWidth = 14.27 
Columns("B:B").ColumnWidth = 15.13 
Columns("C:C").ColumnWidth = 13.27 
Columns("D:D").ColumnWidth = 13.13 
Columns("E:E").ColumnWidth = 14.33 
Columns("F:F").ColumnWidth = 12.07 

Sheets("1. SMARTnet ").Select 
Range("B9:C20694").Select 
Selection.Copy 
Sheets("Sheet1").Select 
Range("A2").Select 
ActiveSheet.Paste 
Columns("B:B").ColumnWidth = 40 

Sheets("1. SMARTnet ").Select 
Range("D9:E20694").Select 
Application.CutCopyMode = False 
Selection.Copy 
Sheets("Sheet1").Select 
Range("E2").Select 
ActiveSheet.Paste 

Range("D2").Select 
Sheets("1. SMARTnet ").Select 
Range("D1").Select 
Application.CutCopyMode = False 
Selection.Copy 
Sheets("Sheet1").Select 
Range("D2").Select 
ActiveSheet.Paste 
Columns("D:D").ColumnWidth = 17.07 
Range("D3").Select 
ActiveSheet.Paste 
Range("D2:D3").Select 
Selection.AutoFill Destination:=Range("D2:D20687"), Type:=xlFillDefault 
Range("D2:D20687").Select 



Sheets("1. SMARTnet ").Select 
Range("B9:C20694").Select 
Selection.Copy 
Sheets("Sheet1").Select 
Range("A20688").Select 
ActiveSheet.Paste 

Sheets("1. SMARTnet ").Select 
Range("F9:G20694").Select 
Application.CutCopyMode = False 
Selection.Copy 
Sheets("Sheet1").Select 
Range("E20688").Select 
ActiveSheet.Paste 

Range("D2").Select 
Sheets("1. SMARTnet ").Select 
Range("F1").Select 
Application.CutCopyMode = False 
Selection.Copy 
Sheets("Sheet1").Select 
Range("D20688").Select 
ActiveSheet.Paste 
Range("D20689").Select 
ActiveSheet.Paste 
Range("D20688:D20689").Select 
Selection.AutoFill Destination:=Range("D20688:D41373"), Type:=xlFillDefault 
Range("D20688:D41373").Select 

Sheets("1. SMARTnet ").Select 
Range("B9:C20694").Select 
Selection.Copy 
Sheets("Sheet1").Select 
Range("A41374").Select 
ActiveSheet.Paste 

Sheets("1. SMARTnet ").Select 
Range("H9:I20694").Select 
Application.CutCopyMode = False 
Selection.Copy 
Sheets("Sheet1").Select 
Range("E41374").Select 
ActiveSheet.Paste 

Range("D2").Select 
Sheets("1. SMARTnet ").Select 
Range("H1").Select 
Application.CutCopyMode = False 
Selection.Copy 
Sheets("Sheet1").Select 
Range("D41374").Select 
ActiveSheet.Paste 
Range("D41375").Select 
ActiveSheet.Paste 
Range("D41374:D41375").Select 
Selection.AutoFill Destination:=Range("D41374:D62059"), Type:=xlFillDefault 
Range("D41374:D62059").Select 

Sheets("1. SMARTnet ").Select 
Range("B9:C20694").Select 
Application.CutCopyMode = False 
Selection.Copy 
Sheets("Sheet1").Select 
Range("A62060").Select 
ActiveSheet.Paste 

Sheets("1. SMARTnet ").Select 
Range("P9:P20694,U9:U20694").Select 
Application.CutCopyMode = False 
Selection.Copy 
Sheets("Sheet1").Select 
Range("E62060").Select 
ActiveSheet.Paste 

Range("D2").Select 
Sheets("1. SMARTnet ").Select 
Range("P1").Select 
Application.CutCopyMode = False 
Selection.Copy 
Sheets("Sheet1").Select 
Range("D62060").Select 
ActiveSheet.Paste 
Range("D62061").Select 
ActiveSheet.Paste 
Range("D62060:D62061").Select 
Selection.AutoFill Destination:=Range("D62060:D82745"), Type:=xlFillDefault 
Range("D62060:D82745").Select 



Range("C2").Select 
ActiveCell.FormulaR1C1 = "SMARTnet" 
Selection.AutoFill Destination:=Range("C2:C82745"), Type:=xlFillDefault 
Range("C2:C82745").Select 

End Subの

どれヒントが理解されるであろう:)

答えて

0

を私はあなたの代わりに

Sheets("1. SMARTnet ").Select 
Range("B9:C20694").Select 
Selection.Copy 
Sheets("Sheet1").Select 
Range("A2").Select 
ActiveSheet.Paste 
例 ため

を "選択" を使用していないことで、あなたのコードをsimplifiすべきだと思います

と書くことができます
Sheets("1. SMARTnet ").Range("B9:C20694").Copy Sheets("Sheet1").Range("a2") 

次に、あなたはそれが画面更新時間を節約できますので、これはまた、より高速に実行されます

より良いエラーを見つけることができるようになります。

関連する問題