2014-07-10 38 views
0

我已經使用以下代碼的間隙,但它是非常具體的:如何在片選擇的整個範圍,而在另一片保持粘貼從範圍兩列2列

Sub Macro 6() 
    Windows("Projects_Europe2014 work.xlsx").Activate 
    Range("B12:C16").Select 
    Selection.Copy 
    Windows("test1.xlsx").Activate 
    ActiveSheet.Paste 
    Windows("Projects_Europe2014 work.xlsx").Activate 
    Range("D12:E16").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Windows("test1.xlsx").Activate 
    Range("F3").Select 
    ActiveSheet.Paste 
    Windows("Projects_Europe2014 work.xlsx").Activate 
    Range("F12:G16").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Windows("test1.xlsx").Activate 
    Range("J3").Select 
    ActiveSheet.Paste 
End Code 

有沒有辦法,我可以繼續增加範圍,而無需手動輸入cde?

+0

你的問題是相當不清楚的。也許說明數據前後? – L42

回答

0

您要複製到的工作表是否包含先前存在的數據?如果不是,你可以複製你的整個範圍,然後在需要的地方插入空列 - 在每兩個連續的列涉及數據後

你可以嘗試下面看看它是否適合 - 你需要先填寫你的參考文獻。 「RANGE_REF」是起始點單元,其中應粘貼原始範圍

Sub pasteandinsert() 
    Dim r As Range 
    Dim r2 As Range 

    'HERE 
    Set r = Workbooks("Projects_Europe2014 work.xlsx").Worksheets("YOUR_WS").Range("YOUR_RANGE") 
    r.Copy 

    'HERE 
    With Workbooks("test1.xlsx").Worksheets("YOUR_WS2") 
     .Activate 
     'HERE 
     .Range("RANGE_REF").Select 
     .Paste 
    End With 
    Application.CutCopyMode = False 

    'HERE 
    Set r2 = Range("RANGE_REF").Resize(r.Rows.count, r.Columns.count) 

    i = 3 
    colcount = r2.Columns.count 

    Do While i <= colcount 
     r2.Columns(i).Insert shift:=xlShiftToRight 
     r2.Columns(i).Insert shift:=xlShiftToRight 
     i = i + 4 
     colcount = colcount + 2 
    Loop 
End Sub