改行区切りをセル区切りへ 

改行区切りをセル毎に書き出す version1.0

ひとつのセルの中に改行でいろいろ書いてあるものを改行ごとに一つのセルに書き出す。
1セルの中に改行があり、値を視認しにくい状態を解消する。
テキストエディタに貼り付けたりすれば簡単だが、物量が多かったり面倒だったりするときに活躍する。

'1セル内に改行を含む値を改行区切りでセル単位に書き出す
Sub onceChangeDelimiterFromLfToCell()
    '改行区切りを1要素とした配列
    Dim lfDelimiterAray As Variant
    lfDelimiterAray = Split(Cells(1, 1), vbLf)
    
    '出力行数
    Dim writeLine As Integer: writeLine = 6
    
    For i = LBound(lfDelimiterAray) To UBound(lfDelimiterAray)
        Cells(writeLine, 1) = lfDelimiterAray(i)
        writeLine = writeLine + 1
    Next
End Sub

↓こちらは列方向にループしながらその列の6行目から書き出す、という内容。状況に合わせて適宜変更されたし。

'複数セル内において改行を含む値を改行区切りでセル単位に書き出す
Sub multiChangeDelimiterFromLfToCell()
    '改行区切りを1要素とした配列
    Dim lfDelimiterAray As Variant
    
    '出力行数
    Dim writeLine As Integer: writeLine = 6
    
    For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
        If Cells(1, i) <> "" Then
            lfDelimiterAray = Split(Cells(1, i), vbLf)
            For j = LBound(lfDelimiterAray) To UBound(lfDelimiterAray)
                Cells(writeLine, i) = lfDelimiterAray(j)
                writeLine = writeLine + 1
            Next
        End If
        writeLine = 6
    Next
End Sub


コメント