- ベストアンサー
Excelセル内の改行を含む文字列の1行目抽出
Excelセル内の改行を含む文字列があり、関数を使って、その1行目だけ抽出したい。 たとえば、下記のような式を書きました。「改行コード」おかしみたいで動作しません。 Left("A1", Find(vbCrLf, "A1")) (改行コードをさがして、そこまでの文字列を切り取る) これをVBAで書く方法があれば、コードを教えてください!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Option Explicit Sub ExtractLine01() Dim xRange As Range Dim xLine As Variant For Each xRange In ActiveSheet.UsedRange xLine = Split(xRange.Value, vbLf) If (UBound(xLine) > 0) Then xRange.Value = Application.WorksheetFunction.Clean(xLine(0)) End If Debug.Print xRange.Address & ":" & xRange.Value & ":" & UBound(xLine) Next End Sub
その他の回答 (3)
- mu2011
- ベストアンサー率38% (1910/4994)
改行はVblfですね。 こんな感じです。 wk = Split([a1], vbLf)(0)
お礼
ありがとうございます。
- keithin
- ベストアンサー率66% (5278/7941)
>「改行コード」おかしみたいで動作しません。 実際に一文字切り出して調べてみればわかりますが,vbcrlfじゃなくvblfです。 >これをVBAで書く方法 sub macro1() range("B1") = left(range("A1"), instr(range("A1") & vblf, vblf) - 1) end sub
お礼
ありがとうございます。
- aokii
- ベストアンサー率23% (5210/22062)
以下の式でやってみてください。 =LEFT(A1,FIND(CHAR(10),A1)-1)
お礼
char(10)でしたか。失礼しました。ありがとうございました。
お礼
美しいコードですね。vbaを勉強中ですが、たぶん、こんなコードは自分は書けないと思います。動作さ理想どおりの動きです。 ありがとうございました。