人生のプチ美学を教えてください!!

WindowsXP エクセル2003を使用しています。

一つのセル内の空白の行だけを削除したいのですが、方法はありますか?
具体的にはA1内に下記のように入力があります。
--------------------------------------------------------------------
あいうえお
かきくけこ

さしすせそ
たちつてと
--------------------------------------------------------------------
「かきくけこ」と「さしすせそ」の間の空白の行だけ削除したいのですが、可能でしょうか?

他の行の改行はそのまま残したいので、CLEANだと無理でした。

A 回答 (5件)

関数や置換だとよい方法が見つかりませんでした。


マクロを作ってみました。

★念のため、実行前に最新の状態でファイルを保存をしてから、試してみてください。

(1)セル内の空白行を削除したい列またはセル範囲を選択します。

(2)Alt + F11 キーを押しVisual Basic Editorを開きます。

(3)左側にあるツリー状のメニューを操作します。
 (表示されていなければ、Ctrl+Rキーを押す。

VBAProject(ファイル名.xls)
└Microsoft Excel Objects
  ├
  ├
  ├
  └ThisWorkbook ←ここをダブルクリックして開きます。


(4)右側の広い欄に、下記のコードを貼り付けます。

'-↓ここから-----
Sub セル内空白行削除()
Dim myArray
Dim tmpStr As String

For Each obj In Selection
If obj.Value <> Empty Then
myArray = Split(obj.Value, vbLf)
For idx = LBound(myArray) To UBound(myArray)
If idx = 0 Then
tmpStr = myArray(idx)
ElseIf myArray(idx) <> Empty Then
tmpStr = tmpStr & vbLf & myArray(idx)
End If
Next
obj.Value = tmpStr
tmpStr = Empty
End If
Next
End Sub
'-↑ここまで-----

(5)Sub セル内空白行削除() から End Subの間の行(どこでも結構)にカーソルを置き、
F5キーを押してマクロを実行します。
これで不要なセル内の空白行が削除されると思います。

(6)貼り付けたコードは削除して、右上の×でVisual Basic Ediorを閉じ、Excelの通常画面に戻ります。
    • good
    • 6
この回答へのお礼

回答ありがとうございます。

できました!!!
わざわざマクロを作ってくださり、本当にありがとうございます。

お礼日時:2009/05/25 07:16

空白の行は改行が2つ入っている訳ですから


改行2つを改行1つに置き換えれば良いのでは?

編集 -> 置換 で
「検索する文字列」にCtrl-j(コントロールキーを押しながら「j」キーを押す)を2回入れます(画面上は見えませんが大丈夫)
「置換後の文字列」にCtrl-j、1回入れて、置換(すべて置換)でどうでしょうか

この回答への補足

回答ありがとうございます。

試してみたのですが、空白改行の行数がセルによっては2~4と一定ではないため、全セルに対応ができませんでした。
質問説明不足で、すみません。

補足日時:2009/05/25 07:22
    • good
    • 0

たびたびごめんなさい!


No.2です。

確かに一つずつ同じ操作を繰り返すのは大変ですよね

他の方法としては作業列を使う方法になりますが

↓の画像のようにCLEAN関数を使えばどうでしょうか?
A1セルからデータがあるとして
作業列セル=CLEAN(A1) としてオートフィルで下へコピー
但し、データが並んでいる場合ですけどね。

尚、セルの書式設定から「配置」タブで「折り返して全体を表示する」にチェックを入れておきます。

これでA列を削除してしまうと参照相手がなくなるのでエラーとなります。
そこで一工夫必要になりますが、
まず作業列全部をコピー → A1セルを選択 → 形式を選択して貼り付け → 「値」にチェックを入れてOK
これで作業列を削除しても大丈夫です。

以上、お役に立てればいいのですが、
どうも失礼しました。m(__)m
「エクセルで一つのセル内で空白の行だけ削除」の回答画像3

この回答への補足

回答ありがとうございます。

試してみたのですが、改行位置がずれてしまう箇所がありました。
今回は他の改行はそのままにしておきたいと思っています。
詳しい説明ありがとうございます。

補足日時:2009/05/25 07:14
    • good
    • 0

こんばんは!


質問の解釈が間違っていたらごめんなさい。

>一つのセル内の空白の行だけを削除したいのですが・・・

とあるので↓の画像のように、1つのセル内で空白の行があるという事でしょうか?

もしそうであれば、そのセルをアクティブにすれば
数式バーに文字が表示されますので、
「さ」の前にカーソルを移動させ、Back Spaceキー
又は「こ」の後ろにカーソルを移動させ、Deleteキー
どちらかでOKだと思います。

以上、参考になれば幸いですが、
的外れの回答なら読み流してくださいね。m(__)m
「エクセルで一つのセル内で空白の行だけ削除」の回答画像2

この回答への補足

回答ありがとうございます。

一つのセルですとその方法でできました!
もし、同様のセルがたくさんある場合、一括でできる方法はありますか?

画像をつけてわかりやすく説明してくださり、ありがとうございます。

補足日時:2009/05/24 21:59
    • good
    • 0

--------------------------------------------------------------------


 ABCDE・・・
1 あいうえお
2 かきくけこ
3 
4 さしすせそ
5 たちつてと


--------------------------------------------------------------------

消したい行の一番左端(この場合は3)をクリックで選択し、
右クリック→削除
で、消す事が出来ます。

この回答への補足

回答ありがとうございます。

質問不足でした。
同様のセルが100くらいあり、手作業でできないので
一括でできる方法を探しています。

補足日時:2009/05/24 21:57
    • good
    • 0

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

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


おすすめ情報