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

このQ&Aのポイント
  • エクセルでセルが空白だった場合、その行を表示させない方法を教えてください。office2003のエクセルを使用しています。
  • マクロを組まずにセルが空白の行を非表示にする方法があれば、具体的なソースコードを教えてください。
  • セルが空白の行を削除するのではなく、それらの行を表示しないようにする方法を教えてください。
回答を見る
  • ベストアンサー

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

エクセルでセルが空白だったらその行を表示させない方法を教えてください。 こんにちわ。 色々調べたのですが、分からずアドバイスをいただきに来ました;; 何とかならないかと困っていますので、お願いいたします。 具体的には  A  B  C  D ... 1 ◎ あ い う 2   か き く 3 ◇ さ し す 4 △ た ち つ . . のようなA2が空白だった場合下記のように ↓↓↓↓↓↓↓↓  A  B  C  D ... 1 ◎ あ い う 3 ◇ さ し す 4 △ た ち つ . . のようにA2が空白だった場合「削除」ではなく「表示しない」としたいです。 ちなみにoffice2003のエクセルを使用しています。 マクロを組まないとできないのであれば、出来れば具体的なソース等を乗せていただけると幸いです。(マクロは勉強中で全然できないので^^;) よろしくお願いいたしますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.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

osarusan0214
質問者

お礼

すみません!!! 補足取り消しで!! 他の方の回答に答えがありました^^; 試してみたところうまくできました^^ ありがとうございます^^

osarusan0214
質問者

補足

ありがとうございます! &失礼しました。 説明不足でした。 あと、一番最後が空白だと、非表示にできませんでしたが、なにか対策等はございませんか?

その他の回答 (6)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

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)
回答No.5

こんにちは! すでに回答は出ていますので、参考程度で・・・ 一例です。 操作したい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)
回答No.4

訂正です。 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)
回答No.3

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

回答No.2

勉強中ならマクロの自動記録で 1. A列選択 2. [Ctrl]+[G]ジャンプ 3. [セル選択] 4. ●空白セル [OK] 5. 書式 - 行 - 表示しない ついでに表示する場合は 全セルを選択して再表示します

  • mar00
  • ベストアンサー率36% (158/430)
回答No.1

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 で出来ると思います。

osarusan0214
質問者

お礼

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

関連するQ&A

  • エクセルで空白セルを寄せたい

    エクセル2002使用です VBAは使わずに関数だけで空白セルがあるセルを詰めて表示したいのですが・・・   A|B|C|D|E|F|G 1 あ い う え お か き 2 ○   ○ ○   ○ の表を   A|B|C|D|E|F|G 1 あ う え か  2 ○ ○ ○ ○ のように表を書き換えたいのです。 1行目には必ず文字が入力されています。 2行目には入力されているセルと空白セルが不定期に入力されています。 2行目のセルが空白ならば、1行目のセルも削除して左へ詰めて 表を転記したいのです。 よろしくお願いします。

  • エクセル~空白のセルのある行を非表示に。

    エクセルで。 例えば、100行の表があって、1行目から順番にデータを入れていくんですが、 データが50行までで終わってしまった場合に、51行目からを、非表示にしたいのです。 Aドライブからのデータの読み込みは、マクロをつかっているので、できればそのあとに文章をくっつけて、1つのマクロで作業を完了したいのです。 具体的に言いますと・・・ A列には1~100までの数字が入力してあります。 B~E列には取り込んだデータ(数字)をVLOOK関数で文字に変換するようになってます。 それ以降は、固定した単位(m3)や、データの数字がそのまま入る・・・という感じです。 そして、101行目はそれぞれの列の合計を出すようにしてます。 つまり、データを読み込んだあと、例えば50行しかデータが無かったら(B50やC50などが空白だったら)、51行目から100行目までをいわゆる『表示しない』にしたいのです。 だいぶ考えましたが・・・・。 よろしくお願いします。

  • エクセルマクロ、空白行(セル)の挿入

    データがA、B、C、D、E列100行まであります。 このうちD、E列を除き、エクセルのマクロで1行ごとに空白で10行挿入したいです。 (A、B、C、D列のデータに空白セルを10行分挿入し、下にシフトするイメージ。D、E列はそのまま。) ご教授頂きたく、お願いします。

  • 【マクロ】クリックすると空白を含む列を非表示に

    上司にExcelのデータが見づらいと言われて困っています。 下記のようなマクロやVBAを教えていただけないでしょうか? 例えば、 A2のセルをクリックすると、その行(2行目)から空白セルを検索して、そのセルを含む列を非表示にして、データが入っている列だけを表するようなマクロってないでしょうか? (要は、C2とE2が空白セルのとき、A2をクリックして、A/B/D/F~の列だけ表示されるようになるマクロです。 同様に3行目でも、空白セルがB3、C3なら、A3をクリックした時、A/D/E…列だけ表示されて、B・C列が非常時になるような。) 似たような機能があれば、A2クリックでなく別にボタン等を作っても構いません。 ややこしくて、申し訳ございませんが、本当に困っているので、 どうかよろしくお願いいたします。

  • 空白セルのとき0表示を消す方法(エクセル2003)

    例えば、      A     B     C     D・・・・・・ 1    10    20    0     30 2                   0 ・ ・ D1に、=A1+B1+C1 D2に、=A2+B2+C2の計算式が入っている時 A2,B2、C2が空白セルのとき、D2に0を表示したくない(空白セルにしたい)です。 過去の質問より、IF関数を使えばよいとわかったのですが、いまいちよくわからないため質問させて頂きました。 よろしくお願いします。

  • エクセルで一つのセル内で空白の行だけ削除したい

    WindowsXP エクセル2003を使用しています。 一つのセル内の空白の行だけを削除したいのですが、方法はありますか? 具体的にはA1内に下記のように入力があります。 -------------------------------------------------------------------- あいうえお かきくけこ さしすせそ たちつてと -------------------------------------------------------------------- 「かきくけこ」と「さしすせそ」の間の空白の行だけ削除したいのですが、可能でしょうか? 他の行の改行はそのまま残したいので、CLEANだと無理でした。

  • エクセル2002で、ある列が空白なら、その空白のある行は削除する方法

    エクセル2002で、 ある列に空白のセルがあった場合、その行を削除する方法を教えてください。 例えば、B列を選択して、 編集、ジャンプ、セル選択、空白セル、OKとたどって、 セルB11、セルB22、セルB33が空白セルなら、 11,22,33の行を削除する方法を教えてください。

  • Excel 空白行を上に詰めるマクロ

    関数を使用して、sheet1からsheet2に必要なデータを抜き取りました。 sheet2のセルには関数が入っています。 sheet2の抽出データには1行単位(まれに2~3行続けて)空白が発生します。 この行を削除し、かつ上に詰めて表示をしたいのですが、下記の条件で実行可能でしょうか? (例) sheet1 ⇒ sheet2   A   B   C     A  B  C 1 あ  い  う   1 あ  い  か 2        か   2 (空白行) 3 き  く   け    3 き  く  し   4 こ  さ   し   4 (空白行) ●2行目、4行目を削除し、且つ5行目以降に入力されている関数は削除したくない ●空白行削除のマクロは自動?(sheet1のデータを変更したら)で実行できるようにしたい よろしくお願いします。

  • ×または空白のセルを繰り上げて表示する(エクセル)

       果実シート                  まとめシート      A   B    C         A    1  いちご  林檎  ミカン          2   ○   ×    ○ 3   4  イ 5  ロ 6  ハ 2行目には○か×か空白が入ります。空白は×と同じです。(以下×という定義は「×または空白」という意味とします。) ・4行目イの欄=A2が○であれば「いちご」を。A2が×でありB2が○であれば「林檎」を。A2、B2が×でありC2が○であれば「ミカン」を ・5行目ロの欄=A2が○でB2が○であれば「林檎」を。A2が○でB2が×、C2が○であればミカンを。A2が×、B2が○、C2が○の場合はミカンを。 ・6行目ハの欄=すべて○の場合だけミカンを。 つまり、×または空白表示の場合は、順次繰り上げて表示する方法についてご教示ください。 4行目は=if(a2="○",a1,if(b2="○",b1,if(c2="○",c1)))ということでOKだと思いますが、5行目6行目がどうしてもわかりません。 マクロをメンテナンスできる人間がいないため、ifやandなどの関数だけでお願いします。 また、このイロハの部分を別の「まとめシートに」リンクさせ、これをVLOOKUP($G$2,まとめシート!A1:R50,1,FALSE)という形(G2は任意の数字を入れる場所)でさらに別のシートへリンクすることは可能でしょうか。 エクセルバージョンは2002です。

  • エクセルで空白の場合はエラー表示を出す方法

    こんにちは。 エクセルで、A1のセルが空白の場合A3のセルに入力が出来なくなる、B1のセルが空白の場合B3のセルに入力が出来なくなる、C1のセルが空白の場合C3のセルに入力が出来なくなるような設定をすべての行に加えたいのですが、どのようにしたらよろしいのでしょうか? 入力規則を使うのでしょうか? どなたか詳しく教えてください。 よろしくお願いします。

専門家に質問してみよう