Split関数を使う方法もあるようですが、ここでは1文字ずつ判定しCRLF(ラインフィード)ならば、取り出すようにします。
ここではセルとシートに配置したテキストボックスから1行ずつ取り出し、セルに入力します。
複数行入力されたセルから1行ずつ取り出す
セルB2に複数行を入力しています。
[分解]ボタンをクリックすると開始します。
ボタンのクリックイベント内に下記のコードを入力します。
Option Explicit
Private Sub CommandButton1_Click()
Dim ssrc As String
Dim sline As String
Dim s As String
Dim i As Long
Dim lr As Long
lr = 4
ssrc = Range("B2")
For i = 1 To Len(ssrc)
s = Mid(ssrc, i, 1)
If s = vbLf Then
Cells(lr, 2) = sline
sline = ""
lr = lr + 1
ElseIf s <> vbCr Then
sline = sline & s
End If
Next
End Sub
これで、取り出した1行が順に下のセルに表示されます。
複数行入力されたシート上のテキストボックスから1行ずつ取り出す
テキストボックスから取り出した結果です。
下記のコードを入力します。
シート上のテキストボックスから入力文字を取り出すには、「Worksheets("Sheet2").TextBoxes("テキスト
ボックス 1").Text」のようにします。
Option Explicit
Private Sub CommandButton1_Click()
Dim ssrc As String
Dim sline As String
Dim s As String
Dim i As Long
Dim lr As Long
lr = 12
ssrc = Worksheets("Sheet2").TextBoxes("テキスト ボックス 1").Text
For i = 1 To Len(ssrc)
s = Mid(ssrc, i, 1)
If s = vbLf Then
Cells(lr, 2) = sline
sline = ""
lr = lr + 1
ElseIf s <> vbCr Then
sline = sline & s
End If
Next
End Sub