- ベストアンサー
エクセルで特定セルが「0」の場合印刷したくない
困ってます。教えてください! エクセルで連続する一定の表を一斉に印刷する場合、 特定のセルの値が「0」の場合に、該当するページだけを 印刷しないようにすることはできますか? 宜しくお願いしますm(__)m
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 特定のセルの範囲に対して、名前-定義-登録 で、範囲を設定しておいて、例えば、以下のように、「範囲」としておきます。 そして、コントロールツールのボタンを貼り付けて、 このようなマクロを置いて、0を消してしまうということが可能です。 Private Sub CommandButton1_Click() 'トグルになっている If Range("範囲").Cells(1).NumberFormatLocal <> "#,###" Then Range("範囲").NumberFormatLocal = "#,###" '←0を出さない書式 Else Range("範囲").NumberFormatLocal = "#,##0" '←一般の数字の書式 End If End Sub
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 >やっぱり、エクセルでは無理がありますよね・・・ >「できない!」ってことがはっきりしないから、何となくもやもやしたものがありまして。 >ふん切りがつきました(*^_^*) 今回、同じような質問でうまく行かないと思ったのは、2度目ですが、実は、前からずっと思っていることは、Microsoft Office のデータベースというのは、Access ですが、どうも、一般の人には敷居が高いだけではなくて、概念として、リレーショナル型で、つくりが面倒なのです。私は、MS-DOSで長い間使ってきたのは、「表計算+カード型データベース」という組み合わせで、本当に重宝してきました。 そういう組み合わせがOffice で標準的にあったら、業者さんに依頼しなくても、自分で、かなりなものが構築できたかもしれない、と思います。 今、カード型データベースというと、やはり有名なのは、「FileMaker」になるけれども、そんなに安くありませんね。Excelで、代用できるという人がいますし、本も出ていますが、VBAが、かなり出来ないと失敗してしまいます。なかなか難しいところなのです。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 >別のシートから(=sheet2!A5)みたいな計算式を入れて数値を飛ばしています。 単純に、 =IF(Sheet2!A5=0, "", Sheet2!A5) ということではいけないのでしょうか。 >その飛ばした数値が「0」の場合(←つまり注文が無かった場合ということです)に、この伝票のページだけ印刷しないで済むようにしたいと考えています。 そのページ全体というということですか。そうすると、そんなに単純な話ではないです。まず、ひとつのページ、そのもののつくりから、細かく解析していかなくてはなりません。 Excelには、もともと、ページの切れ目のようなものは、ユーザーが割り付けるだけで、通常、上下一続きになっています。 単に、書式のパターンで白を塗るというわけなら簡単ですが、何ページ目のどこかの数値が0になっているので、そのページだけ印刷をしない、というようなページごとの判定をするというのは、Excelのシートの構造上、かなり難しいです。 それと、考えていらっしゃることは、一般的には、データベースの概念ですから、Excelでは不向きな内容です。私個人では、それは可能であっても、文字情報だけで、それを教えるには、あまりにも情報が不足しています。
補足
wendy02様 なるほど。 やっぱり、エクセルでは無理がありますよね・・・ 「できない!」ってことがはっきりしないから、何となくもやもやしたものがありまして。 ふん切りがつきました(*^_^*) この件は別の方法を考えます! この「教えて!goo」ってすごいいいもんですね。 実はまだまだエクセル使って仕事進めてるといろんなところでつまづきます。 また助けてやってください! wendy02様 本当ありがとうございましたm(__)m
補足
wendy02様 アドバイスありがとうございます。 拙者、仕事でエクセルは頻繁に使用しますが、単純な計算式、関数しか使ったことがありません。。。状況の説明も不足していて恐縮ですが、この難問解決にご協力くださいm(__)m エクセルを使って、伝票を作ろうと企てております。 エクセルの表に、同じ様式の100ページの伝票を連続して作成し、それぞれの伝票の同じ位置のセルに、別のシートから(=sheet2!A5)みたいな計算式を入れて数値を飛ばしています。 その飛ばした数値が「0」の場合(←つまり注文が無かった場合ということです)に、この伝票のページだけ印刷しないで済むようにしたいと考えています。 ちなみに、拙者エクセルの2007を使用しています。 システム屋さんを導入したいのですが・・・高いし、追加追加のシステム組み直しですから。 ひとまず、使い勝手は多少悪くてもエクセルで作りこんでからと思い、こつこつ作りこんでいるところです。このほかにも、??なところがたくさんありまして・・・なかなか、先に進みません。どうか助けてください。よろしくお願いします。