「excel vba 改行キーがある前の文字列を取り出す」
「excel vba 改行以降を削除」
「マクロ 改行までの文字列を取得」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折見られます。
Excelでは[Alt]+[Enter]キーを押すことでセルの中で改行することができます。
この、セル内改行以降の文字列を削除して、改行までの文字列にするVBA(Visual Basic for Applications)のコード・マクロを探している方による検索です。
ある文字列の中から指定した文字列を検索し、最初に見つかった位置を返すInStr関数を利用してやれば、セル内改行以降を削除するマクロができます。
Dim txt As String
txt = ActiveCell.Value
Dim pos As Long
pos = InStr(1, txt, vbLf)
End Sub
元データを変数txtに代入し、
txt = ActiveCell.Value
1つ目の改行位置をInStr関数で取得し、
pos = InStr(1, txt, vbLf)
Left関数を使って1つ目の改行までの文字列にすることで
ActiveCell.Offset(0, 1).Value = Left(txt, pos - 1)
改行以降を削除しています。
最終更新日時:2023-05-31 07:07
Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » Excel VBAで改行以降を削除する・改行までの文字列にする-InStr関数/Left関数