- ベストアンサー
エクセルでセルが空白だったらその行を表示させない方法
- エクセルでセルが空白だった場合、その行を表示させない方法を教えてください。office2003のエクセルを使用しています。
- マクロを組まずにセルが空白の行を非表示にする方法があれば、具体的なソースコードを教えてください。
- セルが空白の行を削除するのではなく、それらの行を表示しないようにする方法を教えてください。
- みんなの回答 (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
その他の回答 (6)
- tom04
- ベストアンサー率49% (2537/5117)
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
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! すでに回答は出ていますので、参考程度で・・・ 一例です。 操作したい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
- mar00
- ベストアンサー率36% (158/430)
訂正です。 A列の最後が空白の場合もあると思うので For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row を For i = 1 To Cells(Rows.Count, 2).End(xlUp).Row にして下さい。
- KURUMITO
- ベストアンサー率42% (1835/4283)
できれば1行目には行を挿入して項目名を入れることにします。 その後にA列を選択します。 「ホーム」タブの「並べ替えとフィルタ」から「フィルタ」をクリックします。 A1セルに▼が表示されますのでそれをクリックして「空白セル」にチェックがあるのをクリックして消します。 OKボタンをクリックすることでA列に空白のある行は表示されなくなります。 すべてを表示させ元に戻るのでしたら「並べ替えとフィルタ」で「フィルタ」をクリックしてアクティブ状態を解除すればよいでしょう。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
勉強中ならマクロの自動記録で 1. A列選択 2. [Ctrl]+[G]ジャンプ 3. [セル選択] 4. ●空白セル [OK] 5. 書式 - 行 - 表示しない ついでに表示する場合は 全セルを選択して再表示します
- mar00
- ベストアンサー率36% (158/430)
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 で出来ると思います。
お礼
ありがとうございます^^ できました^^ Range("A" & i) こんなつかいかたもできるんですね^^ 勉強になりました。ありがとうございます^^
お礼
すみません!!! 補足取り消しで!! 他の方の回答に答えがありました^^; 試してみたところうまくできました^^ ありがとうございます^^
補足
ありがとうございます! &失礼しました。 説明不足でした。 あと、一番最後が空白だと、非表示にできませんでしたが、なにか対策等はございませんか?