2011-04-29 103 views
1

我一直在試圖編寫一個宏來重新排列單元格的行和列的股票表的輸出我的願望。幸運的是,股票表通常每次都是相同的(不同的名稱和值),並且期望的結果是相同的格式。重新排列數據的宏

下面是一些示例數據。

 A       

1名稱
2描述
3描述
4描述
5描述
6編號:34
8放大和配置

:56284
7在庫存數量
 B 

1名稱
2描述
3描述
4描述
5描述
6編號:56284
7在庫存數量:50
8放大和配置

而且我想輸出去成爲像這樣的東西(如果可能的話,以sheet2開始在Cell B2上):

B C E 

B Being Row 1 C是第2行3 4和5合併 E是JUST第7行股票價值I.E 50

在單個電子表格中將會有4列和8行,我將不得不重新安排。

這將是偉大的自動化,所以任何幫助將不勝感激。

回答

0

讓我澄清我的理解。對於每一列你想要以下數據格式:

A            A 
1 Name          1 Name 
2 Desc1          2 Desc1; Desc2; Desc3; Desc4 
3 Desc2      On sheet 2  3 50 
4 Desc3     ---------------> 
5 Desc4 
6 Id#: 56284 
7 Quantity in Stock: 50 
8 Zoom in and configure 

如果是這種情況,你可以使用下面的代碼。它假定您的數據在Sheet 1的A1到D8中。

Sub FormatData() 
    Dim col As Integer 

    For col = 1 To 4 
     With Worksheets(2) 
      .Cells(1, col) = Cells(1, col) //Get name 
      .Cells(2, col) = Cells(2, col) & "; " & Cells(3, col) & "; " & Cells(4, col) & "; " & Cells(5, col) //Concatenate descriptions into single string 
      .Cells(3, col) = Cells(7, col) //Get quantity in stock 
     End With 
    Next col 
End Sub