2013-07-24 66 views
-1

我有一個從Sheet1的A1開始的單列表,稱爲Table1。我想創建n個Table1副本,將每個後續副本命名爲Excel中的定義名稱(Table2,Table3,... Tablen),並將這些副本放在Sheet1的列B,C等中。代碼:複製,名稱和粘貼表n次

Sub Copy_and_Paste_Table1_n_times(n As Integer) 

Dim i As Integer 

    For i = 1 To n 
     Range("Table1").Copy Sheets("Sheet1").Cells(1, i + 1) 
     ThisWorkbook.Names.Add name:="Table" & (i + 1), _ 
     RefersTo:=Sheets("Sheet1").Range(Cells(1, i + 1),Cells(10, i + 1)) 
    Next 

End Sub 
+0

如何在A:1中只有一張表?如果您在A:1中創建一列,它會自動從A創建一個:1至A:2 – ObieMD5

+0

已更新的問題以闡明 – jmaz

+0

我正在處理它。幾乎完成 – ObieMD5

回答

-1

回答了我自己的問題。該代碼已更新並且可以正常工作。訣竅是找到正確的語法來生成定義的名稱:

ThisWorkbook.Names.Add name:="Table" & (i + 1), _ 
RefersTo:=Sheets("Sheet1").Range(Cells(1, i + 1),Cells(10, i + 1)) 
+0

如果你看看名字經理,使用這條路線你只能創建另一個標籤而不是另一個表 – ObieMD5