2016-06-29 17 views
0

これはかなり簡単に行うべきだと思いますが、私は苦労しています: - 複数のキャリッジリターンで区切られたデータを持つセルがあります。私はいつも2行目のデータが必要ですが、これをどうやって引き出すのかは分かりません。データの例は、以下のようなものです:VBA - キャリッジリターンを回避する方法

Line 1: This line can be any length 
Line 2: Same with this one 
Line 3: so on 
Line 4: and so forth 
Line 5: etc 

おかげで、

ジェームズ

+2

スプリット:VBAでこれを行うには

。 'cet = Split(cells(1,1).value、vbcrlf)'と同様に、 'Msgbox cet(1)'は2行目を与えます。 – newguy

+1

'vbCrlf'が機能しない可能性があります。この場合、 'Chr(10)': 'Debug.Print Split(ThisWorkbook.Worksheets(1).Range(" A1 ")、Value2、Chr(10))(1)'を試すことができます。 – Ralph

答えて

1

A1のデータと、他のセルに入力します。

=TRIM(MID(SUBSTITUTE($A1,CHAR(10),REPT(" ",999)),2*999-998,999)) 

enter image description here

この場合動作しません、を使用してください。それは `VbCrlf`と配列の '1'番目の要素にアクセスを使用して

Public Function SecondLine(s As String) As String 
    s = Replace(s, Chr(13), Chr(10)) 
    s = Replace(s, Chr(10) & Chr(10), Chr(10)) 
    SecondLine = Split(s, Chr(10))(1) 
End Function 
+0

'vbNewLine'は動作しませんか? –

+1

@ Mat'sMug ** **動作する可能性があります...............ワークシートに素材を貼り付ける場合は、ASCII10 *またはASCII13 *またはさらには両方とも......... VBAはいずれの方法でも動作するはずです。 –