我试图弄清楚如何创建一个宏来循环通过我的数据,这是在6行到一个单一的列,没有重复的标题。我的数据的形式是:
row1: aaa
row2: bbb
row3: ccc
row4: ddd
row5: eee
row6: fff
row1: 11
row2: 22
row3: 33
row4: 44
row5: 55
row6: 66
并希望将其转化为以下形式:
row1: row2: row3: row4: row5: row6:
aaa bbb ccc ddd eee fff
11 22 33 44 55 66
每个条目都是在这6行格式。我一直试图与其他类似的exampled没有任何真实的的运气。
我在这里尝试了一些类似的例子,但是能够使行中的信息不重复,因为它们对于列表中的每个条目都是相同的
4条答案
按热度按时间olmpazwi1#
有很多方法可以解决这个问题。
使用Power Query,可在Windows Excel 2010+和Excel 365(Windows或Mac)中使用
使用Power Query
Data => Get&Transform => from Table/Range
或from within sheet
Home => Advanced Editor
Applied Steps
以了解算法xkftehaa2#
有很多方法可以做到这一点。这里有一个我已经测试过的:
6fe3ivhb3#
例如,从第2行开始的A列和B列中的列表,从D2开始转置
gzszwxb44#
数据是这样的:
从单元格D1开始的预期结果:
r变量用于B列中要转置的“数据行数”,在本例中为6
rslt变量是结果单元格。
oData变量是B列中的前r行数据。
它根据oData.offset(,-1)在结果单元格中创建“header”
然后,它循环与驻留在列1中的“行1”的计数一样多,并通过转置将oData值放入rslt。
请注意,如果例如单元格A2中的值为“row 1”,但单元格A8中的值为“row 1:”,则代码将失败,因为循环取决于列A中存在多少A2值。
例如,如果出现以下情况,它也会失败:range A2:A7的值是从“row 1”到“row 6”,但是在A8:A12中只有“row 1”到“row 5”---〉这将失败,因为代码假设数据总是有r行(在本例中为6行)。