• ベストアンサー

エクセルシートの非表示

業務でエクセルにマクロが入ったものを作っています。 一応クライアントごとのオーダーメイドで、あるスプレッドシートに条件を入れると、別のスプレッドシートで計算をして、最初のシートに結果を示すようにしています。  さて、その計算過程について、秘密にしたいのですが、計算に用いているシートを非表示にする(パスワードで見えるようにする、とか)ことは可能でしょうか?

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

  • ベストアンサー
  • stones
  • ベストアンサー率40% (88/218)
回答No.2

 計算式が入ったセルの書式設定の保護タブでロックと表示しないにチェックを入れ、メニューのツール-保護-シートの保護を選ぶと、計算結果は表示されますが、計算式は表示されませんし、パスワードをかけることも可能です。  エクセル2002では、保護したセルを選択できないようにも出来たので、コピーも出来ないように出来ます。  また、上記のセルの結果も表示しないようとするならば、原始的ですが、セルの文字の色を白色にし、保護をかけてしまうという方法もあります。  もちろん、他のシートから計算結果をリンクすることは可能です。

banteras
質問者

お礼

ありがとうございました。 ご教示の方法でやれました。

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

その他の回答 (1)

  • g_002
  • ベストアンサー率18% (21/115)
回答No.1

マクロの最初に Application.ScreenUpdating = False 最後に Application.ScreenUpdating = True と入れればシートは表示されませんが、こんなんじゃダメでしょうか?

banteras
質問者

補足

マクロは使ったことがあるのですが、お教えいただいた方法を試してみることが出来ませんでした。 どうも初心者過ぎるようです。すみません。

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

関連するQ&A

  • エクセルで複数シートに対してマクロで非表示

    エクセルで全シート(約100シートあります)に同じ様なフォーマットのシートがあります。 表示されている全てのシートに対し、指定する列(A)の計算結果値が指定する条件(例えば”1”)に合致する行をマクロで一括して非表示にしたいので、ご教示のほどよろしくお願い致します。 また同時に、全シートで非表示化された行を元に戻す(表示させる)コードも併せて 教えて下さい。 各シート毎に不要な行がそれぞれ大量にあり、困っておりますので、よろしくお願い致します。 エクセルは2007です。

  • Excelで、あるシートだけ非表示にしたいのですが?

    Excelで、入力用シートと印刷用シートの2枚を作って、入力用はデータや計算データを入力して、それを印刷用シートに結果だけ飛ばしています。たまに、お客さんにExclデータで提出して下さいといわれますが、入力シートは見せたくありません。 最近、VBAを勉強し始めて、非表示にする方法は見つけましたが、(使用しているのは、ワークシートの「visibie=false」です。)更にブックの保護をかけてマクロを変更出来なくしています。が、これで確実に見れなくなっているのかが良く分かりません。こんな方法で良いのか、もう少し効率の良い方法があるのか、御手数ですが教えて頂きたいのですが。

  • Excelのマクロについて

    エクセルのまくろについて教えてください。 私が今やろうとしているのはsheet1に表を作成し、sheet2に見積書を作成します。 見積書に載せる項目はsheet1の表の中から抽出したいです。 そのときの条件としては、sheet1での表の中の計算結果が、  項目  計算結果   A    1   B    0   C    8 このような場合のときに計算結果が「0」になったものの項目はsheet2の見積書の項目には反映しないようにしたいです。 このようにするとsheet2での見積書は作成する条件によって行数が変わるようになります。 なので、自動的に見積書の行を増やしたりなくしたりするようなマクロを組みたいのです。 Excel2000です。 長々と書きましたがよろしくお願いします。

  • 巨大なシートを動かす方法

    エクセルで大きな表を作成した結果、 6000列、1000行の表(ワークシート)となりました。 この1枚のワークシートだけは開くことができるのですが、 類似のワークシートを1つのブックの中に5枚作成し、それぞれ 関連付けています。現在のエクセルファイルの大きさは、136メガバイトです。 その結果、現在、2ギガつんでいるメモリの 使用容量が1.9ギガにまで増加し、エクセルがフリーズしてしまいました。どうしても、このワークシートを動かして計算してみたいのですが、方法はあるでしょうか。 考えられる方法として 1 メモリを2ギガから4ギガに増やす 2 エクセルではなく、それ以外の表計算ソフトを利用する。 3 グーグルのオンラインのスプレッドシートを利用する。 のいずれかの方法を考えています。 なお、3については、スプレッドシートで使用したいエクセルファイルを読み込ませようとしたところ、WEBサイトに問題が生じているというないようのエラーメッセージが発生して、使用できません。  何かよい方法があれば、教えてください。

  • Excel(エクセル)で非表示シートをVBAで計算するには?

    よろしくお願いします。 エクセルで1つのブックにAシート~Fシートまであるとします。 再計算させると、すべてのシートを再計算してしまうため時間がかかるので、マクロの自動記録を利用して「Aシート→Bシート→Cシート→Dシート→Eシート」と、必要なシートだけを順番に計算させる事で、処理時間短縮をさせる事をする事ができました。 EシートとFシートは表示させておいて、その他のA~Dシートは非表示にしました。 Eシートには、A~Dシートで計算した結果が表示されるようになっています。 ですが、A~Dシートを非表示にして作成したマクロを実行すると、エラーが出てしまい上手くできません。 A~Dシートを非表示にしていても、ブック全体を再計算させる事はできます。 非表示にしたシートをマクロで計算させるには、どのようにしたら良いでしょか? アドバイスをお願い致します。 登録したマクロは下記のようになっています。 Sub 計算() Sheets("Aシート").Select ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate Sheets("Bシート").Select ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate Sheets("Cシート").Select ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate Sheets("Dシート").Select ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate Sheets("Eシート").Select ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate Sheets("Eシート").Select End Sub

  • エクセル2003 パスワードでシートを振り分ける方法

    エクセル2003をXPで使用しています。 ひとつのブックに全部で11のシートがあります。 ブックを開くときにパスワードを求め、パスワードに応じて 開くシートを振り分けたいと考えています。 たとえば・・・ パスワード「AAA」を入力するとシート1だけが見えて、他は見えない パスワード「BBB」を入力するとシート2だけが見えて、他は見えない ・ ・ ・ パスワード「KKK」を入力するとすべてのシートが見える こんな感じですが、過去ログを見る限りVBAならできそうだと思うのですが、自分なりの改造ができなく、困っています。 うまく説明できないのですが ☆データが入っているシート数は、11。(各シート名はsheet1~sheet11) ☆表紙がわりのシートを別に1つ作る。(シート名はmain) ☆パスはsheet1がAAA、sheet2がBBB、以下つづいてsheet1がKKKとする。 ☆ブックを開くとき、マクロを有効にしないと何も表示されない。 ☆マクロを有効にしてブックを開くと、mainだけが開き、ユーザーフォームが表示。(ユーザーフォームはパスワート入力とOKボタンのみ。) ☆パスワードを入力してOKボタンを押すと、パスワードに応じたシートだけが表示される。 100%他力本願で申し訳ございませんが、この条件を満たすマクロを組めるかた、よろしくお願いします。

  • エクセルマクロで条件のシートを印刷する方法

    エクセルマクロで条件のシートを印刷する方法を教えてください 初め、目的のシートを作成する為の条件がセルに入力しているシート(以降:条件シート)があり マクロで条件シートから情報を吸い上げて情報に沿ったシート(以降:結果シート)を複数作成します。 ここでは条件シートが複数存在しています。 結果シートを作成する為の条件と作成するシート数はその都度違います。 結果シートを作成する際は前回に作った結果シートを全て削除してから作っています。 条件シートのシート名に「●」を入力しておいて、「●」が含まれていないシートを削除するようにしています。 ここで質問になりますが、作成した全ての結果シートだけを印刷する方法を教えていただけないでしょうか 方法としては「●」が含まれていないシートを全て印刷するという命令にしたいのですが。 ご教授お願いいたします エクセル2003を使用しています。

  • Excelのシートを隠す方法

    Excelにて表作成をしえおります。 1枚のシートに定価と掛け率を入れて隠したデータを作りたいのですが、シートを隠す+保護+パスワード設定をしましたが、VBAにてシートがあることがわかってしまいます。VBA画面でもシートがあることがわからないようにする方法はありませんでしょうか?できればマクロは使わない方法にてお願いいたします。

  • EXCELで文字変数のシート名を参照できますか?

    EXCELのセルに入力する計算式に、条件により異なる文字変数のシート名を入力したいのですが、可能でしょうか? だめなら、シート順でもいいのですが? それなりの関数または方法などがありましたら教えてください。 なるべくなら、マクロを使わずに処理できますでしょうか?

  • エクセルのシート保護をマクロのボタンで

    ご教示下さい。 エクセルでのシート保護の設定をボタン一つで出来るようにと思い、マクロの自動記録で作成してみましたが、設定したはずのパスワードが記録されていません。 シート保護の解除にパスワードの入力が必要なようにする、シート保護のマクロは出来るでしょうか?。 どなたか、よろしくお願いいたします。