プロが教える店舗&オフィスのセキュリティ対策術

先日質問させていただいたものです。
さらなる加工が必要になりました。

例えば、
◆test
aaaaaa
iiiiiiiiiiiii
uuuuu
eeeee
ooooo
◆test2
kaaaaa
kiiiiiiiiiii
kuuuuu
keeeee
kooooo
...

これらのデータを
◆test aaaaaa
    iiiiiiiiiiiiii
    uuuuuu
eeeeee
oooooo
◆test2 kaaaaa
     kiiiiiiiiiii
     kuuuu
     keeeee
     koooooo

に変換はできたのですが、今度は
◆test aaaaaaaa iiiiiiiiiii uuuuuuuuuuu eeeeeee oooooo
◆test2 kaaaaaa kiiiiiiiii kuuuuuuuuu keeeeee koooooooo

のように変換する必要がでてしまいました。

マクロなどで一括で変換できないでしょうか。
当方知識が乏しいため困っております。

A 回答 (4件)

こんにちは!



別シートに表示しても良いですか?
元データはSheet1のA列にあり、Sheet2に表示するとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, cnt As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
If InStr(.Cells(i, "A"), "◆") > 0 Then
cnt = cnt + 1
wS.Cells(cnt, "A") = .Cells(i, "A")
Else
wS.Cells(cnt, Columns.Count).End(xlToLeft).Offset(, 1) = .Cells(i, "A")
End If
Next i
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0

B1: =OFFSET($A$1,(ROW(A1)-1)*6+MOD(COLUMN(A1)-1,6),)&""

「Excelを使って行列変換をしたい(大量」の回答画像4
    • good
    • 0

1回きりの処理なら、


例えば、
◆test
aaaaaa
iiiiiiiiiiiii
uuuuu
eeeee
ooooo
◆test2
kaaaaa
kiiiiiiiiiii
kuuuuu
keeeee
kooooo
...

行列入れ替えて貼り付け。
csvで保存。
◆test, aaaaaa, iiiiiiiiiiiii, uuuuu, eeeee, ooooo, ◆test2, kaaaaa, kiiiiiiiiiii, kuuuuu, keeeee, kooooo, ...

「◆」を「改行+◆」に置換。
上書き保存。
◆test, aaaaaa, iiiiiiiiiiiii, uuuuu, eeeee, ooooo
◆test2, kaaaaa, kiiiiiiiiiii, kuuuuu, keeeee, kooooo, ...

csvを読み込み。
とか。
    • good
    • 0

コピーして


 「行列を入れ替えて貼り付け」
で対処しましょう。

数が多い?
(´・ω・`)
知らんがな

知識が乏しいのであれば、その知識の中でできる対処方法を考えましょう。
(繰り返し処理を行わないのにマクロでどうにかしたいとか…どう考えても他の人に手間のかかる作業をお願いしているようにしか見えないんです)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!