• ベストアンサー

マーク入力セルがある行は非表示

Excelシート1~10行のうち1.3.7.9行のD列にIF関数により"●"が入力されています。 "●"の1.3.7.9行をVBAコード入力で非表示にならないでしょうか。解る方、宜しくお願いたします。

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

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

こんばんは! 手っ取り早いのはオートフィルタを使用する方法ですが、 今回の質問の場合はデータ数が少ないので、For~Nextでやってみました。 Sub 非表示() Dim i As Long For i = 1 To 10 If Cells(i, "D") = "●" Then Rows(i).Hidden = True End If Next i End Sub ※ 再表示も必要だと思います。手作業でやっても簡単にできますが、 この際ですので再表示のコードもついでに・・・ Sub 再表示() ActiveSheet.Rows.Hidden = False End Sub こんなんではどうでしょうか?m(_ _)m

kuma0220
質問者

お礼

有難うございます。ちょっと応用して実用に生かしました大変助かりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで都道府県を入力するとそのコードを表示させるようにするには?

    Excelについて質問です。 例えばセルB1に都道府県を入力すると、A1に都道府県コード(1~47までの数字)を表示させたいと思っています。 別シートのA列に都道府県コード、B列に都道府県を作って47都道府県コードとその都道府県を作ってVLOOKUPで表示させようとしましたがうまくできませんでした。 次にif関数を使って「B1が北海道ならA1に1を表示」というように47都道府県をif関数を重複させて作っていきましたがif関数を8つぐらいまでしか重複させることができず失敗に終わりました。 何か良い方法はありますでしょうか?

  • EXCELで入力されているデータを表示させたい

    EXCEL2003でシート1のA列1~10行にA~J、シート2のA列1~10行にC~Lと入力されています。シート3のA列1~12行にA~Lを表示させるのにはどのような関数を利用したら、もしくはVBAを組んだらよろしいのでしょうか。 過去に同様な質問があったかと思うのですが、探し出せませんでしたのでよろしくお願いいたします。

  • 数式を奇数行と偶数行を別々に貼り付け!

    数式を奇数行と偶数行を別々に張り付け の方法ってあるんですか?? Sheet1で計算表をつくっています。 B列~列Hまで1行と2行を結合さしていて、I列~X列は1行、2行別々です。 I列~X列に1行2行別々の数式をいれたいんです。 偶数行に =IF(Sheet2!AC52="","",IF(Sheet2!AC52<2,"<",ROUND(Sheet2!AC52,2))) として、2行・4行・6行・・・・ 奇数行に =IF(Sheet2!D52="","",IF(Sheet2!D52<Sheet2!$B52,Sheet2!$A52,ROUND(Sheet2!D52,4))) として、3行・5行・7行・・・・ でいう感じでしていきたいんですが、関数はありますか?? 関数以外でも方法があれば教えてください。 お願いします。

  • 複数セルから特定の文字を検索して、その対象セルを抽出したい

    エクセルで関数、VBAを使用して、下記のようなDATA抽出を行ないたいのですが、どなたか、ご指導いただけないでしょうか。 たとえば、2種のシートが、各々、 <シート1>   列A   列B 行1 A1 ABCD-123 行2 B23 EFGH-456 行3 C456 あいうえお <シート2> 列A 列B 列C  列D  列E 行1 A1 A2 A3 行2 B23 C5 A4 行3 A5 B2 C456 ・・・・・・・となっている場合、 <シート2> の列D  行1 へ "A1"と入力(記載)がある場合、列Eに   ”ABCD-123”と表示(抽出)を行ないたい。 セルには、文字、数字、記号が入ります。 よろしくお願い致します。

  • EXCELで条件に合わない行を削除して詰めて新しいシートに表示したいのですが

    A  B   C   D 1 任意 任意 合格 2 任意 任意 FALSE 3 任意 任意 合格 4 任意 任意 FALSE PC2台ありますのでEXCEL2003か2007が操作環境です. 上記のようなシートがあった場合に(Dにはif関数が入力されています)別のシートにFALSEの行のみ削除して1行目から詰めて表示させたいのですが,それってどうやったらいいのでしょうか?if関数使うとしても詰めるのはできそうにないし・・・VBAですか?どうしてもわかりませんでしたので教えていただきたいです.よろしくお願いいたします.

  • 必要な行だけ表示または印刷できる?

    エクセルで たとえば A列に得意先 B列に日計売上 C列以降は集計等入力した表があって 別シートにその日の売上があった得意先名と日計売上だけが表示されるように A列 =IF(Sheet●!B○=0,"",Sheet●!A○) B列 =IF(Sheet●!B○=0,"",Sheet●!B○) で日計売上のない得意先は表示されない表を作ったのですが、表示の無い行が含まれない表示はできますか? 式が入力されているので空白行の削除ではないんですね 可視行でもうまくいかなかったのですが 良い方法は、ありますか?

  • マクロ VBA入力

    シート1  A    B   C     1 コード コード 金額     2 01 シート2  A    B   C   D   E     1 コード 名前 コード 名前 金額     2 01    あ  02   い  20     3 01    あ  03   う  30 シート1とシート2があります。シート1のA2に入力されたコードがシート2のA列に入力されていたら、その行のC列のコードをシート1のB2に反映し、E列の金額をシート1のC2に反映する。シート1のA2のコードは、シート2のA列に複数あるため、この作業を繰り返す。 シート1 A  B   C  1 コード コード 金額   2 01   02   20  3 01   03   30とできるようにするにはどうすればいいでしょうか?分かりにくい文章で申し訳ありません。関数では無理なのでVBAの入力しかないかと考えていますが、VBAは全くの初心者で困っています。どなたかご回答宜しくお願いいたします。   

  • 入力されたセルが何行あるか調べる方法

    エクセルVBAを勉強中です。 2つのsheetを使って表を作っていて、手入力したsheet1から自動でsheet2へコピーする際に、あらかじめsheet1で使っている行数だけsheet2で表を増やしておきたいのです。 sheet1で使っている行の数はどうやって表せばよいのでしょう? 教えてください。

  • Excelのあるセルの最終行のみ表示させたいです。

    Excelのあるセルの最終行のみ表示させたいです。  A     B     C      D 月日     入     出      残 10/1  1000   200    800 10/1    500   300   1000 10/1    200     0   1200 10/2   2000   500   2700 10/2    100     0   2800 このような表を 10/1    1200 10/2   2800 のように月日の最終行のD列のみ表示させたいのですが、どういう関数を使えばよいでしょうか?

  • セルに入力したら、別の特定セルに文字表示させるには

    似たようなQ&Aはあったのですが、求めているものとは少し違うので質問させていただきます。 エクセルで、指定したセルに数値を入力したら、 別シートの特定セルに特定文字列を表示させる ということはできませんか。 例えば、sheet1のセルB3に「2」と入力したら sheet2のセルB5に「●」と表示 次に、sheet1のセルB4に「6」と入力したら sheet2のセルD11に「●」と表示 次に、sheet1のセルC3に「4」と入力したら sheet2のB9に「○」と表示           のようなかたちです。 sheet1の入力範囲は、B3:I85程度 sheet2の入力範囲は、B3:FZ170程度で、特定セルは重複しない 表示されるのは、「●」「○」などの文字列 です。 途中経過として、MATCH関数、ADDRESS関数を利用して sheet1のセルに数値入力をしたら sheet2の入力すべきセル番地を求めることまではできたのですが その求めたセルがすべて異なるので、それぞれのセルに移動させて 文字列を表示させることができずに困っています。 解決法をご存知の方、どうぞよろしくお願いいたします。