重新排列数据的宏
问题描述:
我一直在试图编写一个宏来重新排列单元格的行和列的股票表的输出我的愿望。幸运的是,股票表通常每次都是相同的(不同的名称和值),并且期望的结果是相同的格式。重新排列数据的宏
下面是一些示例数据。
A
1名称
2描述
3描述
4描述
5描述
6编号:34
8放大和配置
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行,我将不得不重新安排。
这将是伟大的自动化,所以任何帮助将不胜感激。
答
让我澄清我的理解。对于每一列你想要以下数据格式:
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