2010-12-03 34 views
1

我有5列和100行信息​​,我需要將其放入一個水平行。我想將5列和100行的循環轉換爲1行

例如:

紅綠藍黃 紅綠藍黃 紅綠藍黃 等...

紅綠藍黃紅綠藍黃紅,綠,藍黃色...等

請幫助我不知道如何創建一個宏,使其儘可能基本!謝謝

+0

這個例子和輸出在你的問題中是一樣的(因爲這裏的格式)。你可以編輯你的答案。要添加一個換行符,請添加**兩個空格**。此外,爲了澄清你的問題,你有** 5列和100行的Excel表**? – gideon 2010-12-03 02:31:01

回答

0

下面是一些在同一張紙上進行轉置的代碼。根據需要更改行和列。 希望您知道如何打開VBA編輯器並運行宏。

Sub transpose() 
Dim row 
Dim targetRow 
Dim targetColumn 
Dim column 
Dim columnMin 
Dim columnMax 
Dim rowMin 
Dim rowMax 
Dim tmp 

rowMin = 1 
rowMax = 2 
columnMin = 1 
columnMax = 5 

targetColumn = 7 
targetRow = 1 

row = rowMin 
While row <= rowMax 

    column = columnMin 

    While column <= columnMax 

     Cells(row, column).Select 
     tmp = ActiveCell.Value 
     Cells(targetRow, targetColumn).Select 
     ActiveCell.Value = tmp 
     targetRow = targetRow + 1 
     column = column + 1 

    Wend 

    row = row + 1 

Wend 

End Sub 

這樣做是循環遍歷所需的每一行。 從需要的第一列開始。 在該行的每一列上循環,獲取該值並放入目標行和列中。然後增加目標行。

我希望在這裏有足夠的示例代碼,您可以自己修改以解決您的特定問題。編輯 該死的。剛剛注意到這個問題需要1行,但是這是1列。不應該太難改變。