セルの改行は便利ですが、1行1セルにするといった無駄な社内ルールがあったりします。
その場合は、マクロで分割しましょう。
セルの値を改行で分割するサンプルコード
選択しているセルの場合と、Rangeを指定する場合とtmpに入れるデータを変更可能にしています。
'■改行でセルを分割する
Sub call_cells_split_vblf()
Dim tmp As Range
' Set tmp = ActiveCell '選択しているセルの場合
Set tmp = ActiveSheet.Range("A1") 'アクティブシート セルA1の場合
With tmp
'■セルの値の中からVbLfがなくなるまで繰り返す
Do Until InStr(tmp, vbLf) = 0
'対象セルの下のセルが空白でなければ、空白セルを挿入する
If .Offset(1, 0).Value <> "" Then
.Offset(1, 0).Insert shift:=xlDown
End If
'■改行までの値を貼り付ける
.Offset(1, 0).Value = Mid(.Text, InStrRev(.Text, vbLf) + 1)
.Value = Left(.Text, InStrRev(.Text, vbLf) - 1)
Loop
End With
'■イメージ
'セルA1 あ →セルA1 あ
' い →セルA2 い
' う →セルA3 う
' え →セルA4 え
' お →セルA5 お
'セルA2 →
'セルA3 →
'セルA4 →
'セルA5 →
End Sub



コメント