2014-02-17 45 views
0

我想將一列數據從一個工作表複製到另一個工作表,然後進行轉置。我希望Excel在「I3」中放入一個給定的值,然後將數據從表1中的「AA3到AA72」複製,粘貼到表2中的「D4」中,並在「I3」中刪除給定的值。然後宏應該將給定的值放在Table1的「I4」中,並將數據從「AA3到AA72」粘貼到Table2的「D5」中。等等。使用for-Loop來提高Excel中的行索引

的代碼看起來是這樣的:

Sub FirstTry() 
x = 1 
y = 1 

Value = Worksheet("Table1").Range("C1") 

For s= 1 To 69 

Worksheet("Table2").Cells(9,2 + x) = Value 

Worksheet("Table2").Range("AA3:AA72").Copy 

Worksheet("Table1").Cells(4,3 + y).x1PasteSpecial Transpose:=True 

Worksheet("Table2").Cells(9,2 + x) = 0 

x = x+1 
y = y+1 

Next s 

End Sub 

的主要問題是,Excel不提高行索引。它在「I3」中提供了很多價值,那就是它。

我的方法提高索引有什麼問題嗎?

在此先感謝

+0

1 )使用'Worksheet(「Table1」)。Cells(4,3 + y).PasteSpecial Transpose:= True' 2)不要使用具有特殊名稱的變量,比如'Value'。將其更改爲「myValue」。 –

回答

0

如果您要提高行號,請不要將其設爲常量。

在你的代碼,例如

Cells(4,3 + y) 

應該,也許,看起來像:

Cells(3 + y, 4) 

因爲排第一,而列第二,在細胞(,)值

相關問題