プロが教えるわが家の防犯対策術!

セル内にAlt+Enterで改行している文字列があるのですが、1つめの改行以降の文字列を削除したいのですが、方法が分かりません。
どなたかお教えいただけないでしょうか?
Excel2002を使用しております。

あいうえお
かきくけこ
  ↓
あいうえお

よろしくお願いします。

A 回答 (3件)

各セルの値(文字列)の中に、折り返して表示している場合は、改行コード(文字コード10)があります。


これをVBのInstr関数でさがいそれまでのあたい(文字列)を
そのセルの値とすればよい。簡単です。
ーー
VBEの標準モジュールに
Sub test01()
For i = 1 To 6
p = InStr(Cells(i, "A"), vbLf)
If p = 0 Then
Else
Cells(i, "a") = Left(Cells(i, "A"), p - 1)
End If
Next i
End Sub
最初の改行までしか問題にしてません。
例データ A列
(処理後)     (元データ)
横浜市"横浜市
              港北区"
静岡市静岡市
温度が"温度が
              高い"
今日は雨だ今日は雨だ
asd"asd
              jkdfg"
13"13
              345"
    • good
    • 0

こんにちは。


置換機能を利用するとして、対象範囲を選択して[編集]-[置換]。
[検索する文字列]に
[ctrl]キー+[j]キー同時押し。(何も表示されませんがセル内改行文字です)
そのあとに * (ワイルドカード)を入力。

[置換後の文字列]に
何も入力せず[すべて置換]。
...でどうでしょう。

VBAなら、以上を記録すると
.Replace What:="" & Chr(10) & "*"...
と録れます。
Chr(10) は文字定数で vbLf を使う方が良いでしょう。
    • good
    • 0

◆Excel VBA ではないので、ご希望ではありませんが


★A1に下のように入力されているものとして
あいうえお
かきくけこ

=LEFT(A1,FIND(CHAR(10),A1)-1)
または、
=REPLACE(A1,FIND(CHAR(10),A1),50,)
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています