- ベストアンサー
Excelで別シートを見られないようにしたい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 >1つのファイルで、Aさんはsheet1は見れるけど、その他を見れない。 > Bさんはsheet2は見れるけど、sheet1は見れない。 基本的には、出来ないと考えたほうがよいと思います。マクロ自体に依存する方法だと、マクロを不可にした場合のことも考えなくてはなりません。ただし、クラッカーの使用は、論外だから、考慮には入れません。 ブックにシートをひとつ入れておいて、それぞれのブックに対してパスワードをつけて配布したほうが安全で確実だと思います。 そうでなければ、ひとつのブックで、パスワードをつけて呼び出しをして、再び、開けるときに、パスワードを聞くようなマクロを作って、元のブックには基本的には、ブックの呼び出しのマクロだけで、他にも何も入れないようにすることですね。(ただし、後者の方法は、掲示板では非公開です。)
その他の回答 (2)
- Nayuta_X
- ベストアンサー率46% (240/511)
・sheet1は見れるけど、sheet2はパスワードかなんかがないと見れないという風にはできないでしょうか? こたえ:各シートの表示/非表示は、Visibleプロパティの設定により切り替えることができます。(VBAで可能です。) Trueでシートを表示、Falseでシートを非表示にします。なお、全てのシート を非表示にすることはできません。 構文 Object.Visible 取得/設定 設定項目 内容 Object Worksheet,Chart,Worksheetsオブジェクトコレクション, Sheetsコレクションオブジェクト,Chartsコレクションオブジェクト 次のサンプル1はVisibleプロパティの値を反転させることで、シートの表示と 非表示を切り替えます。 ●サンプル1● Sub VisibleSamp1() With Worksheets(1) '---1枚目のシートを対象 .Visible = Not .Visible '---表示/非表示を切り替え End With End Sub TrueとFalseの値を使用するプロパティでは、このような記述で値の切り替えが できるので、覚えておくと便利です。 また、定数xlVeryHiddenを設定した場合には、マクロかVBEのプロパティウィン ドウでVisibleプロパティの値を変更しない限り、ユーザーの操作でシートを再表 示することはできなくなります。 ・逆にどのsheetも個別のパスワードがないと開けない。という風にはできないでしょうか? こたえ:Bookにパスワードを設定すれば、同様のことは、出来ます。 例: VBA が、解らないと無理でしょう。 'Excelファイルにパスワードを設定する Dim objXL Dim f Dim m Dim ws Dim sPassword '======================================= ' パスワード '======================================= sPassword = "7777777" If WScript.Arguments.Count<1 Then m="Excelファイルをドロップするとパスワード『" & sPassword & "』を設定します" MsgBox m WScript.Quit End If Set objXL=CreateObject("Excel.Application") 'objXL.Visible=False objXL.DisplayAlerts=False ' ドロップされたファイル数分ループ For Each f In WScript.Arguments 'ファイルを開く objXL.WorkBooks.Open f,,,,sPassword 'ファイルをパスワードをつけて保存 objXL.ActiveWorkBook.SaveAs f,,sPassword 'ファイルを閉じる objXL.ActiveWorkBook.Close ' m="ファイルにパスワード『" & sPassword & "』を設定しました" MsgBox m Next objXL.Quit WScript.Quit 'Excelファイルのパスワードを解除 Dim objXL Dim f Dim m Dim ws Dim sPassword '======================================= ' 解除するパスワード '======================================= sPassword = "7777777" If WScript.Arguments.Count<1 Then m="Excelファイルをドロップするとパスワード『" & sPassword & "』を解除します" MsgBox m WScript.Quit End If Set objXL=CreateObject("Excel.Application") 'objXL.Visible=False objXL.DisplayAlerts=False ' ドロップされたファイル数分ループ For Each f In WScript.Arguments 'ファイルを開く objXL.WorkBooks.Open f,,,,sPassword 'ファイルをパスワードをつけて保存 objXL.ActiveWorkBook.SaveAs f,,"" 'ファイルを閉じる objXL.ActiveWorkBook.Close ' m="ファイルのパスワード『" & sPassword & "』を解除しました" MsgBox m Next objXL.Quit WScript.Quit 1つのファイルで、Aさんはsheet1は見れるけど、その他を見れない。 Bさんはsheet2は見れるけど、sheet1は見れない。 といった風にという意味です。 ☆☆☆ VBAで、Aさん、Bさんのパスワードを設定して置き(難しいことは、ここでは省略します。) Aさん、Bさんにそれぞれのパスワードを教えておけば、可能でしょうね。 でも、こんな面倒なことを考えるより 見られたくないシートを削除して、それぞれに配布したらどうでしょうか??。 見られたくないシートを選択して、書式→シート→表示しない で非表示にして、Bookの保護をする 方法もあります。
- 134
- ベストアンサー率27% (162/600)
sheet2を選択して、書式→シート→表示しない で非表示にできますけど
関連するQ&A
- エクセルシートを別のエクセルファイルへコピー
同じエクセルファイルのAシートはAのパソコンで、 BシートはBのパソコンで作成しました。 ABのパソコンはネットでもLANでもつながっておらず、 全く別のパソコン単体でしか使えません。 それぞれのパソコンで作成したABのシートを 片方のファイルの片方のシートと置き換えたいと思います。 (例えば、Aパソコンでエクセルファイルを開き、 Bパソコンで作成したBシートだけを、 AパソコンのエクセルファイルのBシートと置き換えるという意味です) 同じパソコン上の、同じファイル上で作ったファイルのコピーや シートのコピーはわかりますが 違うパソコンでそれぞれABのシートを作成して、 出来上がったシートを合体させるなんてこと、できますか。
- ベストアンサー
- オフィス系ソフト
- エクセルのシートコピー
エクセルでファイル間のシートコピーを同一レイアウトでするには? 例:AファイルaシートをBファイルbシートに全く同じレイアウト(aシートの行間、列間=bシートの行間、列間)でコピーする。 OS;XP エクセル2002 宜しく御願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル シートをブックに分ける方法
エクセル2003を使用しています。 ひとつのブックに、シートA、B、C とある場合、 それを、シートAだけのブック(ファイル)、 シートBのファイル、シートCのファイル というように、一気にファイルに分けることは可能でしょうか? できれば、ファイル名=シート名で、設定できるとうれしいです。 可能でしたら、方法を教えてください。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルのデータを別ファイルに抜き出すには?
内容なんですが、Aというエクセルファイルのsheet1にお客さんと注文数があるのですが、Bというエクセルファイルにsheet1からsheet100までレイアウトを作り個別にお客さんの注文数を集計したいと思っています。 毎月のことなので手間のかからないやり方はあるのでしょうか? うまく説明できてませんが良いやり方があれば教えてください。
- ベストアンサー
- オフィス系ソフト
- Excelのシート→ブック
Excelのシート→ブック Excelに複数のシートがある状態です。 そのシートを個別のファイル名=シート名で一発で個別のブックにする方法はありますか?
- ベストアンサー
- その他MS Office製品
- エクセルのシートへコピーしたいのですが
エクセルのAフアイルのシート2へBファイルのシート1をコピーして貼り付けたいのですがその方法を教えてください。
- 締切済み
- その他(インターネット・Webサービス)
- エクセルで項目ごとに新しい別のシートにしたい
エクセルで名簿を作成しています。 C列に生徒番号、D列に氏名、E列にクラスがAからFまでランダムに入っています。 この名簿を新しいファイルに、クラスごとに別のシートにしたいです。 できればシート名も「A」「B」となっていれば助かります。 A,B列にもデータが入っていますが、今回は生徒番号、氏名、クラスのみの ファイルにしたいです。 良い方法を教えてください。よろしくお願いします。
- 締切済み
- Excel(エクセル)
- エクセルでのシート移動について
とあるフォルダに「A」と「B」言うエクセルのいシートがあります。 AのシートをBに移動したいのですが、ファイルを開かないで移動する方法はあるのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Excelのハイパーリンクで,別Excelのシート
Excelのハイパーリンクについて, リンク先をこのドキュメント内だとsheetまで指定できますが, 別のExcelをリンク先にする場合,ファイルweb別ページだと sheetまで指定できません。 Excel一覧表Aと,それそれsheetでまとめたExcel Bと2つ作り, 一覧表のリンクをクリックすると,詳細はExcel Bのsheet1・sheet2・・・が 表示されるようにしたいです。 可能であれば,教えてください。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- excel で別ファイルの特定のsheetの移動
excel 2007で別のfileのsheetを移動出来ればとお尋ねします file A に sheet a, b, c, d file B に sheet a', b' c', d' があります (A,B共夫々同じ形の表です) b と b' を入れ替える又は b を削除して其処へ b' を移動で? 入れたいのですが、判りやすく教えて頂ければ有り難いです
- ベストアンサー
- その他MS Office製品