アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。

この度、指定列内のスペース(※半角スペース・全角スペース(※スペースが複数続く場合もあります)を全て改行するVBAについてご教示いただきたく質問させていただきました。

初心者知識で色々と調べ、指定列セルは
For i = 3 To Cells(Rows.Count, 2).End(xlUp).Row 'B列3行目から最終行まで繰り返し
1セル処理時のエラー対策として
If .Range("B3") <> "" Then
を使用することまでは調べられたのですがスペースを改行する構文はどの様な形になるのでしょうか?
Excelのバージョンは2019になります。

どうぞよろしくお願いいたします。

A 回答 (2件)

こんばんは



改行というのは「セル内改行」の意味と解釈しました。

B列を対象とするなら、以下でいかがでしょうか?

For i = 3 To Cells(Rows.Count, 2).End(xlUp).Row
Cells(i, 2).Value = Replace(Replace(Cells(i, 2).Text, " ", Chr(10)), " ", Chr(10))
Next i

※ セルの書式が「折返して~~」になっていないと、改行は反映されません。
    • good
    • 0
この回答へのお礼

fujillin様、回答ありがとうございます。

Replace(Replace(Cells(i, 2).Text, " ", Chr(10)), " ", Chr(10))
この様な形でスペースを改行するのですね。
セルの書式も折り返してに設定し理想の処理ができました。
ありがとうございます。
活用させていただきます。

お礼日時:2022/06/01 20:23

Excelで改行というのはセル内改行ですか?



1.全角SPを半角SPに置換
2.連続するSPをひとつにまとめ、かつ前後の不要SPをドロップする
3.半角SPをセル内改行コードのvbLFに置換

1と3は
Replace(文字列,検索文字,置換文字)

2は
Worksheets.Function.Trim(文字列)

です。

2については、必要がなければ省略して下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!