2010-11-19 15 views
0

私はVBAを使って見通しからいくつかの結果を得ています。しかし、このExcel用VBA:1つのセルに複数の行を連結する方法は?

line 1 
line 2 



another line 


final line 

のような一つのセルに複数の行を保持するいくつかの細胞は、ある私は、最初の空行を削除するには、正規表現「^ $」を使用しようとしたが、それは動作しません。

さらに悪いことに、すべての行が一度にセルになっているため、式をマージすることはできません。

大変感謝しています。

ところで、どのような行の間にあるのですか? "^ $"を使用して一致させ、 ""で置き換えました。それは何も残っていないことを意味します。しかし、まだ、空の行がそこにあります。私も "chr(13)"を削除しました。

+0

行間の記号はchr(10)です。あなたの変化は私の答えを越えたので、私はそれを編集しました。 – GolezTrol

答えて

1

すべての改行を削除しますか?

YourResult = replace(replace(YourCellValue, chr(10), ""), chr(13), "") 

ただ空の行を削除しますか?

[編集] 上記の回答はテストされていません。私は今の線を分離する文字は、CHR(10)であることがわかり、そうあなただけのことを交換する必要があります。

YourResult = replace(YourCellValue, chr(10), "") 

また、あなたが複数の行を保つが、空行を削除したい場合は、次の2つを置き換えることができます改行がなくなるまでこの手順を繰り返します。

Function FixLines(value As String) 
    Do 
    s = value 
    value = Replace(value, Chr(10) & Chr(10), Chr(10)) 
    Loop Until value = s 
    FixLines = value 
End Function 

YourResult = FixLines(YourCellValue) 
+0

はい。私は空の行を削除したい。ありがとうございました! – john

+0

これは、私がグーグル・グーグルで行ったすべての回答のうち、この行に沿ったこの問題に対する最良の答えです。ありがとう、GolezTol! – john

関連する問題