宏重新安排数据

时间:2011-04-29 06:56:58

标签: excel vba excel-vba

我一直在尝试编写一个宏来重新排列Stock表格的行和列中的Cells,以获得我想要的输出。幸运的是,Stock Tables每次都是相同的(不同的名称和值),期望的结果是相同的格式..

以下是一些示例数据。

      A                        

1名称
2描述
3描述
4描述
5描述
6 ID#:56284
7库存数量:34
8放大并配置

      B

1名称
2描述
3描述
4描述
5描述
6 ID#:56284
7库存数量:50
8放大并配置

我希望输出变成这样的东西(如果可能的话,可以从Cell B2开始):

B    C    E

B排第1行 C为行2 3 4和5组合 E是JUST第7行股票价值I.E 50

在单个电子表格上会有4列,而我需要重新排列8行。共计32个。

自动化这将是很好的,所以任何帮助将不胜感激。

1 个答案:

答案 0 :(得分: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

如果是这种情况,您可以使用以下代码。它假设您的数据在表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