我一直在尝试编写一个宏来重新排列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个。
自动化这将是很好的,所以任何帮助将不胜感激。
答案 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