• ベストアンサー

Excelの改行を消すマクロ

Excel2000です。 セルの中の改行を消したいと思っています。 マクロを使いたいのですが、どうゆう マクロを書けばいいのか教えてください。 東京都 港区 を マクロを使って 東京都港区 にしたいのです。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

No.1です。 それなら、Replace関数を使用すればいいと思います。 (Forループの書き方がおかしいので修正してあります。) For i = 1 To n   For j = 1 To n     Cells(i, j).Value = Replace(Cells(i, j).Value, Chr(10))   Next j Next i

chukanshi
質問者

お礼

お騒がせしてすみません。 Cells(i, j).Value = Replace(Cells(i, j).Value, Chr(10),"") ということで解決したようです。 これでよいのですよね。

chukanshi
質問者

補足

どうもありがとうございます。 しかし、「Replace」で「引数が足りません」とエラーになってしまいす。Replaceには3つ引数が必要のようですが、もうひとつの引数はどう書けばよいのでしょうか。 ご教授ねがいます。

その他の回答 (2)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

>お騒がせしてすみません。 >Cells(i, j).Value = Replace(Cells(i, j).Value, Chr(10),"") >ということで解決したようです。 まったく、当方のミスでした。 申し訳有りませんでした。

chukanshi
質問者

お礼

いえいえ、こちらこそ無学なところを、丁寧に教えていただきありがとうございました。御礼申し上げます。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 Selection.Replace Chr(10), "", xlPart, xlByRows, False, False で、選択範囲内のセルの改行文字を削除出来ます。

chukanshi
質問者

補足

早速のご回答ありがとうございました。選択範囲内のセルの改行文字を削除できることはわかりました。 もう少し進んで、一つのセルでなくいくつものセルの中の改行文字を消すことはできないでしょうか。 For i=1 to i=n For J=1 to J=n Cells(i,j).value=Replace(?????) NEXT NEXT みたいな風にしたいのですが(?????)の部分がよくわかりません。申し訳ありませんが、お分かりでしたらご教示ねがいます。

関連するQ&A