|
こんにちは。かみちゃんです。
>元々あったデータ(文字列)が消えてしまいます。
元々あったデータから、改行コードを消したいのではないのですか?
「つんさん」も私も、そうだと思って、コメントしています。
元々のデータを残したいということなのでしょうか?
少なくともSUBSTITUTE関数の場合は、元々のデータが消えることはないと思います。
=SUBSTITUTE(A3,CHAR(10),"")
は、A3に元々のデータがあって、B3など別のセルにこの数式を書いたらその別セルに改行コードを取り除いた値が入ります。
また、VBAの場合の
Sub セル内改行コード削除()
ActiveCell.Value = Replace(ActiveCell.Value, Chr(10), "")
End Sub
は、現在のセルの値から改行コードを除いた値を「現在のセル」に入れます。
そういう点で、SUBSTITUTE関数と異なります。
もし、別のセルでに入れたいのなら、
Sub セル内改行コード削除()
Range("A1").Value = Replace(ActiveCell.Value, Chr(10), "")
End Sub
とすると、特定のセルに入ります。
Sub セル内改行コード削除()
ActiveCell.Offset(0, 1).Value = Replace(ActiveCell.Value, Chr(10), "")
End Sub
とすると、現在のセルの右隣のセルに入れます。(元々のデータは消えません)
Sub Cell_Value_vbLf_Del()
For Each c In Selection.Cells
With c
c.Offset(0, 1).Value = Replace(.Value, vbLf, "")
End With
Next
End Sub
とすると、選択した範囲の各セルの右隣のセルに入ります。
ただし、選択範囲が連続した複数列にまたがる場合は、意図しない動きになります。
|
|