"KEY*"
我收到一个 500k+ 行的大文件,但所有内容都在 A 列中。我需要运行一个宏,将数据转换为矩阵形式,但只有在 ActiveCell 中找到时才会创建一个新行。例如:
| KEY 4759839 | asljhk | 35049 | | sklahksdjf|
| KEY 359 | skj | 487 |y| 2985789 |
我文件中的上述数据最初在 A 列中如下所示:
KEY 4759839
asljhk
35049
sklahksdjf
KEY 359
skj
487
y
2985789
注意事项:
- 空白单元格也需要转置,所以宏不能基于emptyCell停止
- KEY 之间的单元格数量不是恒定的,因此它实际上需要读取单元格以知道它是否应该创建一个新行
- 它可以根据一行中的 20 个空单元格停止,也可以提示输入最大行数
- (可选)如果一行中的最后一个项目有某种视觉指示器会很好,这样就可以判断最后一个项目是否为空白单元格
我四处搜索,发现一个宏具有相同的一般主题,但它基于每 6 行,我没有足够的知识来尝试修改它以适应我的情况。但如果它在这里有帮助,那就是:
Sub kTest()
Dim a, w(), i As Long, j As Long, c As Integer
a = Range([a1], [a500000].End(xlUp))
ReDim w(1 To UBound(a, 1), 1 To 6)
j = 1
For i = 1 To UBound(a, 1)
c = 1 + (i - 1) Mod 6: w(j, c) = a(i, 1)
If c = 6 Then j = j + 1
Next i
[c1].Resize(j, 6) = w
End Sub
我将不胜感激您能给我的任何帮助!