500k以上の大きなファイルを受信していますが、すべてのコンテンツが列Aにあります。データをマトリックス形式に転置するマクロを実行する必要がありますが"KEY*"
、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
私はあなたが私に与えることができるどんな助けでも大いに感謝します!