エクセル マクロ 空白セルで改行 a b c d e f g h i j k ・・・

Excel | Visual Basic46閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0
画像

シート最大行まであるデータでしたので関数のほうは64bitのオフィスを入れ直してもいつ終わるかわからず止めてしまいました。 マクロのほうは今回私の目的に合致しており、しかも短い時間で果たすことができました。 大変助かりました。ありがとうございました。

その他の回答(3件)

0

Sub test() Dim i As Long, myStr, myData For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row myStr = myStr & IIf(Cells(i, 1) = "", " ", Cells(i, 1)) Next If Len(myStr) < 2 Then Exit Sub myData = Split(Trim(myStr), " ") For i = 0 To UBound(myData) Cells(i + 1, 3) = myData(i) Next End Sub

画像

ひとつのセルに収めるのが今回の目的ではありませんでしたため、使いませんでしたが、過去に似たような作業があり、そのときはうまくできなかったはずなので、大変参考になります。 ありがとうございました。

0

A列の空白が連続しない事が条件です。 Sub BlankDiverted() Dim XRow, XCol, i As Long XRow = 1 XCol = 1 For i = 0 To Cells(Rows.Count, "A").End(xlUp).Row Do While Cells(1, "A").Offset(i).Value <> "" Cells(1, "A").Offset(i).Cut Cells(XRow, XCol) XCol = XCol + 1 i = i + 1 Loop XRow = XRow + 1 XCol = 1 Next i End Sub

まれにランダムで空白が連続する行があるデータでしたので、うまくいきませんでした。 でも通常のデータでしたらうまくいくと思うので有用だと思います。 ありがとうございました。

0

A列のデータを、B列より右ににコピーします。 Sub sample() Dim rng As Range, i As Long For Each rng In Range("A1", Cells(Rows.Count, 1).End(xlUp)) _ .SpecialCells(xlCellTypeConstants).Areas i = i + 1 rng.Copy Cells(i, 2).PasteSpecial Transpose:=True Next rng End Sub