• ベストアンサー

VBAでセル内の文字列を一行にする方法

ExcelのVBAで、セル内に折り返しで3行に書かれている文字列を、各文字列間に空白を1つ入れて、1行につなげるにはどうしたらいいですか

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

以下はアクティブなシート内の全てのセル内改行をスペースに置換えます。 Sub test01() Dim c As Range For Each c In ActiveSheet.UsedRange If c <> "" Then With c .Replace What:=Chr(10), Replacement:=" ", LookAt:=xlPart .WrapText = False End With End If Next End Sub

ganchan59
質問者

お礼

早速の回答ありがとうございます。 やってみたところ、うまくいきました。助かります。 ところで、VBA初心者ですが、よろしければVBAをどのように勉強すれば、このようなプログラムがかけるようになりますか、貴方さまの経験から教えて頂けると幸いです。

その他の回答 (2)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

> 貴方さまの経験から教えて頂けると幸いです。 ganchan59さんこんにちは、merlionXXです。 うまくいってよかったですね。 わたしの場合は、他の優秀な方々が書いたコードがどういう意味なのかを自分で調べることが一番勉強になったと思いますよ。 でもまだまだ初心者の域を脱しきれていませんけどね。 ヾ(=^▽^=)ノふぁいと~v

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 質問を読んでみて、折り返し3行が、セルの書式に「折り返して全体を表示する(w)」にチェックを入れてある、という場合がありますね。その場合は、Lf「Chr(10)」 がない、ということもあります。Lf があるなしだけでは、いけないような気がしますが・・・。一体、どっちなのでしょうか?