重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

文字の合体。

A1~A5までの文字を合体させたい。

A1
改行
A2
改行
A3
改行・・・

各セルで改行を入れて合体させたい。
A1~A5までだが
時にはA1~A3までしか文字がないときもある。
合体後に一番左に改行があった場合は、改行を消したい。

あああ
改行
いいい
改行
ううう
改行
えええ
改行
おおお
改行←消す

合体後にB3セルに返す。

次に
B3セルの合体された文字の改行を/に変えて
B4セルに返したい。
この時に一番右側に/が有れば消したい。


マクロコードを教えていただけませんか?

A 回答 (1件)

こんにちは



ご質問文では「改行」と書いてある部分が1行あきのように見えますが、単なる改行のみと解釈。
(1行空きにしたい場合は、改行コードを2回入れればよいです。)
その他、記載のない部分に関しては勝手に設定してあります。
(例:元のセル内に改行が存在している場合など)

Sub Sample()
Dim s As String, t As String, c As Range
s = ""
For Each c In Range("A1:A5")
 t = Trim(Replace(c.Text, vbLf, ""))
 If t <> "" Then
  If s <> "" Then s = s & vbLf
  s = s & t
 End If
Next c

Range("B3").Value = s
Range("B4").Value = Replace(s, vbLf, "/")
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます!
やりたかったことがまさにこれです。
とても助かりました。

お礼日時:2018/07/06 17:04

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