2016-07-28 31 views
1

我試圖複製和轉置數據從一個工作簿到另一個使用以下,但我得到一個運行時錯誤1004.任何人都可以請幫助如何解決這個問題。它似乎是在這部分代碼:複製和從一個工作簿轉置到另一個 - '運行時錯誤1004'

Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
    , Transpose:=True 

我不確定如何解決。

請參閱以下全碼:

Windows("ETP2016_scenario_summary (2).xlsx").Activate 
    ActiveCell.Range("A1:H7").Select 
    Selection.Copy 
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
     , Transpose:=True 
    ActiveCell.Offset(12, 1).Range("A1:H13").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    ActiveCell.Offset(0, -1).Range("A1").Select 
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
     , Transpose:=True 
    ActiveWindow.ScrollRow = 19 
    ActiveWindow.ScrollRow = 26 
    ActiveCell.Offset(16, 0).Range("A1:H8").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    ActiveCell.Offset(-4, -1).Range("A1").Select 
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
     , Transpose:=True 
    ActiveWindow.ScrollRow = 40 
    ActiveCell.Offset(11, 0).Range("A1:H8").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    ActiveCell.Offset(-3, -1).Range("A1").Select 
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
     , Transpose:=True 
    ActiveWindow.ScrollRow = 44 
    ActiveCell.Offset(17, 1).Range("A1:H6").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    ActiveCell.Offset(-5, -1).Range("A1").Select 
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
     , Transpose:=True 
    ActiveWindow.ScrollRow = 62 
    ActiveCell.Offset(9, 0).Range("A1:H8").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    ActiveCell.Offset(-2, -1).Range("A1").Select 
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
     , Transpose:=True 
    ActiveWindow.ScrollRow = 68 
    ActiveCell.Offset(13, 1).Range("A1:H8").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    ActiveCell.Offset(-1, -1).Range("A1").Select 
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
     , Transpose:=True 
    ActiveWindow.ScrollRow = 79 
    ActiveCell.Offset(11, 0).Range("A1:H8").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    ActiveCell.Offset(0, -1).Range("A1").Select 
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
     , Transpose:=True 
    ActiveWindow.ScrollRow = 90 
    ActiveWindow.ScrollRow = 97 
    ActiveCell.Offset(11, 0).Range("A1:H16").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    ActiveCell.Offset(1, -1).Range("A1").Select 
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
     , Transpose:=True 
    ActiveWindow.ScrollRow = 113 
    ActiveCell.Offset(19, 0).Range("A1:H16").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    ActiveCell.Offset(-6, -1).Range("A1").Select 
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
     , Transpose:=True 
End Sub 

任何幫助將不勝感激。

+0

頭貼,你在哪裏它粘貼到?你需要首先選擇一個'Range' –

回答

1

你的第一個粘貼使用移調沒有選擇目標範圍將粘貼它。

替換您:

Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ 
    , Transpose:=True 

有了:

' replace Sheet2 with your Sheet Name, Modify Range("A1) to your Range 
    Worksheets("Sheet2").Range("A1").PasteSpecial Transpose:=True 
+0

非常感謝Shai的幫助。我仍然無法得到它的工作,並得到了當我更換代碼runt時間錯誤9。我將它轉換爲另一個工作簿。我如何輸入要複製到代碼中的工作簿?另外,如果我想複製並轉換成單元格B3:H10是我應該輸入的範圍嗎? – Matt

+0

@Matt你的其他工作簿的名字是什麼?您試圖複製到的工作簿中的工作表名稱是什麼? –

相關問題