dポイントプレゼントキャンペーン実施中!

エクセルでセルが空白だったらその行を表示させない方法を教えてください。

こんにちわ。

色々調べたのですが、分からずアドバイスをいただきに来ました;;
何とかならないかと困っていますので、お願いいたします。

具体的には

 A  B  C  D ...
1 ◎ あ い う
2   か き く
3 ◇ さ し す
4 △ た ち つ
.
.
のようなA2が空白だった場合下記のように
↓↓↓↓↓↓↓↓
 A  B  C  D ...
1 ◎ あ い う
3 ◇ さ し す
4 △ た ち つ
.
.
のようにA2が空白だった場合「削除」ではなく「表示しない」としたいです。
ちなみにoffice2003のエクセルを使用しています。

マクロを組まないとできないのであれば、出来れば具体的なソース等を乗せていただけると幸いです。(マクロは勉強中で全然できないので^^;)


よろしくお願いいたしますm(_ _)m

A 回答 (7件)

No.5・6です!


何度もごめんなさい。
No.5・6ともに無視してください。
No.6に関してはNo.5の行削除のコードに少し手を加えただけですし、
もしある行の最終列が空白なら希望の結果にならないと思います。
今一度コードを載せておきます。

Sub test()
Dim i, j As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To 4 '←の「4」はデータ量によって列番号を変えてください。
If Cells(i, j) = "" Then
Rows(i).Hidden = True
End If
Next j
Next i
End Sub

検証せずに投稿してごめんなさいね。m(__)m

この回答への補足

ありがとうございます!
&失礼しました。

説明不足でした。

あと、一番最後が空白だと、非表示にできませんでしたが、なにか対策等はございませんか?

補足日時:2010/08/10 20:13
    • good
    • 0
この回答へのお礼

すみません!!!
補足取り消しで!!
他の方の回答に答えがありました^^;

試してみたところうまくできました^^
ありがとうございます^^

お礼日時:2010/08/10 20:16

No.5です!


たびたびごめんなさい。

前回のコードは行を削除してしまうコードでした。
↓のコードに訂正してみてください。

Sub test()
Dim i, j As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
For j = 1 To Cells(i, Columns.Count).End(xlToLeft).Column
If Cells(i, j) = "" Then
Rows(i).Hidden = True
End If
Next j
Next i
End Sub

どうも何度も失礼しました。m(__)m
    • good
    • 0

こんにちは!


すでに回答は出ていますので、参考程度で・・・

一例です。
操作したいSheet見出し上で右クリック → コードの表示 を選択し、↓のコードをコピー&ペーストして
マクロを実行してみてください。

Sub test()
Dim i, j As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
For j = 1 To Cells(i, Columns.Count).End(xlToLeft).Column
If Cells(i, j) = "" Then
Rows(i).Delete (xlUp)
End If
Next j
Next i
End Sub

以上、参考になれば良いのですが・・m(__)m
    • good
    • 0

訂正です。


A列の最後が空白の場合もあると思うので
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row を
For i = 1 To Cells(Rows.Count, 2).End(xlUp).Row にして下さい。
    • good
    • 0

できれば1行目には行を挿入して項目名を入れることにします。


その後にA列を選択します。
「ホーム」タブの「並べ替えとフィルタ」から「フィルタ」をクリックします。
A1セルに▼が表示されますのでそれをクリックして「空白セル」にチェックがあるのをクリックして消します。
OKボタンをクリックすることでA列に空白のある行は表示されなくなります。
すべてを表示させ元に戻るのでしたら「並べ替えとフィルタ」で「フィルタ」をクリックしてアクティブ状態を解除すればよいでしょう。
    • good
    • 0

勉強中ならマクロの自動記録で


1. A列選択
2. [Ctrl]+[G]ジャンプ
3. [セル選択]
4. ●空白セル [OK]
5. 書式 - 行 - 表示しない

ついでに表示する場合は
全セルを選択して再表示します
    • good
    • 0

Sub Macro1()


For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Range("A" & i) = Empty Then
Rows(i).EntireRow.Hidden = True
End If
Next i
End Sub
で出来ると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます^^
できました^^

Range("A" & i)
こんなつかいかたもできるんですね^^
勉強になりました。ありがとうございます^^

お礼日時:2010/08/10 20:19

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

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