セル内改行を削除する|Excel VBA |
[Alt]+[Enter]キーでセル内改行を行うと、改行コードvbLf(ラインフィールド:Chr(10))が入力されます。
セル内改行を一括して削除するには、RangeオブジェクトのReplaceメソッドを利用します。
Replaceメソッドは次のような構文で使用します(引数はほかにもあります)。
Rangeオブジェクト.Replace(What, Replacement, [LookAt])
引数Whatには検索文字列、Replacementには置換文字列、LookAtには検索方法として完全一致(xlWhole)/部分一致(xlPart)を指定します。
次のサンプルは、InputBoxメソッドで指定されたセル範囲内のセル内の改行を一括で削除します。
●サンプル●
Sub Sample()
Dim rngTarget As Range
On Error Resume Next
Set rngTarget = Application.InputBox( _
"範囲を選択してください", Type:=8)
On Error GoTo 0
If rngTarget Is Nothing Then Exit Sub
rngTarget.Replace vbLf, "", xlPart
End Sub