Excel VBA 質問スレッド №2013 (解決済)
エクセル内の非表示シートに行き来したい
投稿者 : おの 投稿日時 : 2024/09/15(Sun) 15:35:44 OS : Windows 10 EXCEL : Excel 2013
1.複数人で一つのエクセルファイルを共有したい。
2.目次シート(常時表示)に名前とIDを入力したら、非表示シートがでてくる。
AはAのみのシートしか見ることはできない、BはBのみのシートしか見ることはできない。
例)目次シートに名前 A(仮)、ID 1234 と入力したら、Aのシートのみ表示される。
目次シートに名前 B(仮)、ID 5678 と入力したら、Bのシートのみ表示される。
3.E(管理者)は目次シートに名前とIDを入力するとA、B、C、D、Eと全ての非表示シートがでてくる。
4.当エクセルファイルを"×"で閉じ、次回当エクセルファイルを開くと目次シートのみが表示される。
また目次シートに入力された名前とIDは空欄の状態かつ非表示シートは隠れている状態。
例)A~Eの非表示シートにいる状態で当ファイルを閉じても、次回起動時には目次シートに行き、A~Eのシートは非表示となっている。
その際目次シートに入力されていた名前とID欄は空白となっている。
このようなものをVBA? マクロ?で作りたいのですが、当方の知識がなく作ることができません。
皆様のお力をお借りいただけないでしょうか。
目次(常時表示)← 常時このシートだけがでている。
A(非表示)
B(非表示)
C(非表示)
D(非表示)
E(非表示、管理者)
1.複数人で一つのエクセルファイルを共有したい。
2.目次シート(常時表示)に名前とIDを入力したら、非表示シートがでてくる。
AはAのみのシートしか見ることはできない、BはBのみのシートしか見ることはできない。
例)目次シートに名前 A(仮)、ID 1234 と入力したら、Aのシートのみ表示される。
目次シートに名前 B(仮)、ID 5678 と入力したら、Bのシートのみ表示される。
3.E(管理者)は目次シートに名前とIDを入力するとA、B、C、D、Eと全ての非表示シートがでてくる。
4.当エクセルファイルを"×"で閉じ、次回当エクセルファイルを開くと目次シートのみが表示される。
また目次シートに入力された名前とIDは空欄の状態かつ非表示シートは隠れている状態。
例)A~Eの非表示シートにいる状態で当ファイルを閉じても、次回起動時には目次シートに行き、A~Eのシートは非表示となっている。
その際目次シートに入力されていた名前とID欄は空白となっている。
このようなものをVBA? マクロ?で作りたいのですが、当方の知識がなく作ることができません。
皆様のお力をお借りいただけないでしょうか。
目次(常時表示)← 常時このシートだけがでている。
A(非表示)
B(非表示)
C(非表示)
D(非表示)
E(非表示、管理者)
スポンサーリンク
[返信 1] Re : エクセル内の非表示シートに行き来したい
投稿者 : tek 投稿日時 : 2024/09/15(Sun) 17:51:15
運用方法がよく解らないのですが、
>AはAのみのシートしか見ることはできない、BはBのみのシートしか見ることはできない
なら
>複数人で一つのエクセルファイルを共有
する必要が無いのでは。
Aブック、Bブックに分けて非表示属性としておき、さらにブックにはパスワードを付けておけば、
目次ブックはxlsmで読み取り専用として有れば、他人は開けないが各人が開ける、管理者はすべてのブックを開くことができます。
全体が共有ではデータ更新がうまくできない可能性もあります。
但し、かなりのスキルが無いとこの方法での作成は困難と思われます。
運用方法がよく解らないのですが、
>AはAのみのシートしか見ることはできない、BはBのみのシートしか見ることはできない
なら
>複数人で一つのエクセルファイルを共有
する必要が無いのでは。
Aブック、Bブックに分けて非表示属性としておき、さらにブックにはパスワードを付けておけば、
目次ブックはxlsmで読み取り専用として有れば、他人は開けないが各人が開ける、管理者はすべてのブックを開くことができます。
全体が共有ではデータ更新がうまくできない可能性もあります。
但し、かなりのスキルが無いとこの方法での作成は困難と思われます。
[返信 2] Re : エクセル内の非表示シートに行き来したい
投稿者 : higeru 投稿日時 : 2024/09/15(Sun) 20:28:09
> ID 1234 と入力したら
ではなく
1. 表紙シート以外のシートは非表示状態にしてパスワード(当然管理者は知っている)を設定してブックを保護する
2. VBA を使って Workbook_Open か Auto_Open で、ユーザー名によって特定のシートを再表示する
3. VBA プロジェクトはパスワードで(当然管理者はこれも知っている)保護する
という感じでよいかと。
> ID 1234 と入力したら
ではなく
1. 表紙シート以外のシートは非表示状態にしてパスワード(当然管理者は知っている)を設定してブックを保護する
2. VBA を使って Workbook_Open か Auto_Open で、ユーザー名によって特定のシートを再表示する
3. VBA プロジェクトはパスワードで(当然管理者はこれも知っている)保護する
という感じでよいかと。
[返信 3] Re : エクセル内の非表示シートに行き来したい
投稿者 : おの 投稿日時 : 2024/09/18(Wed) 00:19:36
■[返信 1] tekさん(2024-09-15 17:51:15)の記事
> 運用方法がよく解らないのですが、
> >AはAのみのシートしか見ることはできない、BはBのみのシートしか見ることはできない
> なら
> >複数人で一つのエクセルファイルを共有
> する必要が無いのでは。
> Aブック、Bブックに分けて非表示属性としておき、さらにブックにはパスワードを付けておけば、
> 目次ブックはxlsmで読み取り専用として有れば、他人は開けないが各人が開ける、管理者はすべてのブックを開くことができます。
> 全体が共有ではデータ更新がうまくできない可能性もあります。
>
> 但し、かなりのスキルが無いとこの方法での作成は困難と思われます。
>
ご回答ありがとうございます。
運用方法を記載していませんでした。
現在、従業員の残業管理を共通のエクセルファイルで行っております。
従事者が残業を入力したら、集計シートに反映され、「何月何日に誰々は何時間残業した」と出てきます。
集計シートを非表示にしていますが、互いのシートは見えるため、従事者同士で残業時間が多い、少ないと干渉し合っている状態です。
従事者ごとにパスワードをかけたファイルを配布し、管理することが適切な対処と思いますが、集計するために同一ファイルに収めたく思っています。
そのため、共通のファイルで管理者だけは全てのシートをみることができ、従事者は自身のシートしか見れない形にしたいのです。
■[返信 1] tekさん(2024-09-15 17:51:15)の記事
> 運用方法がよく解らないのですが、
> >AはAのみのシートしか見ることはできない、BはBのみのシートしか見ることはできない
> なら
> >複数人で一つのエクセルファイルを共有
> する必要が無いのでは。
> Aブック、Bブックに分けて非表示属性としておき、さらにブックにはパスワードを付けておけば、
> 目次ブックはxlsmで読み取り専用として有れば、他人は開けないが各人が開ける、管理者はすべてのブックを開くことができます。
> 全体が共有ではデータ更新がうまくできない可能性もあります。
>
> 但し、かなりのスキルが無いとこの方法での作成は困難と思われます。
>
ご回答ありがとうございます。
運用方法を記載していませんでした。
現在、従業員の残業管理を共通のエクセルファイルで行っております。
従事者が残業を入力したら、集計シートに反映され、「何月何日に誰々は何時間残業した」と出てきます。
集計シートを非表示にしていますが、互いのシートは見えるため、従事者同士で残業時間が多い、少ないと干渉し合っている状態です。
従事者ごとにパスワードをかけたファイルを配布し、管理することが適切な対処と思いますが、集計するために同一ファイルに収めたく思っています。
そのため、共通のファイルで管理者だけは全てのシートをみることができ、従事者は自身のシートしか見れない形にしたいのです。
[返信 4] Re : エクセル内の非表示シートに行き来したい
投稿者 : tek 投稿日時 : 2024/09/18(Wed) 13:04:24
まずはキチンとした仕様書を作成する必要があります。
例えば、
残業管理のみ行う
入退勤管理を行う(タイムカード等とのやりとりはどうするのか)
1台のパソコンのみで行う
複数のパソコンで行う
個人・個人のパソコンで行う(この場合はそのパソコンが壊れた時はどうするのか)
何日分を記載しておくのか
バックアップはどうするのか
実際の入力フォーマットは
変更はいつまで受け付けるのか
などなど他にもたくさん有りますが、漏れが無いよう考慮を重ねて、後で仕様変更が起こった場合作り直しにならないよう作成しておく。
私は会社の事務のことはお手伝いできませんが、
例えば、入力者は.accdbファイルに都度書き込みしていき
読み取り制限はsql文で行えば良いのではと思います。
https://atmarkit.itmedia.co.jp/ait/articles/1512/10/news024.html
https://atsumitm.iobb.net/it/it-081.php
など参考資料は探してください。
楽楽勤怠なら3万円/月だそうです。
まずはキチンとした仕様書を作成する必要があります。
例えば、
残業管理のみ行う
入退勤管理を行う(タイムカード等とのやりとりはどうするのか)
1台のパソコンのみで行う
複数のパソコンで行う
個人・個人のパソコンで行う(この場合はそのパソコンが壊れた時はどうするのか)
何日分を記載しておくのか
バックアップはどうするのか
実際の入力フォーマットは
変更はいつまで受け付けるのか
などなど他にもたくさん有りますが、漏れが無いよう考慮を重ねて、後で仕様変更が起こった場合作り直しにならないよう作成しておく。
私は会社の事務のことはお手伝いできませんが、
例えば、入力者は.accdbファイルに都度書き込みしていき
読み取り制限はsql文で行えば良いのではと思います。
https://atmarkit.itmedia.co.jp/ait/articles/1512/10/news024.html
https://atsumitm.iobb.net/it/it-081.php
など参考資料は探してください。
楽楽勤怠なら3万円/月だそうです。
[返信 5] Re : エクセル内の非表示シートに行き来したい
投稿者 : おの 投稿日時 : 2024/09/29(Sun) 17:20:38
■[返信 4] tekさん(2024-09-18 13:04:24)の記事
> まずはキチンとした仕様書を作成する必要があります。
> 例えば、
> 残業管理のみ行う
> 入退勤管理を行う(タイムカード等とのやりとりはどうするのか)
>
> 1台のパソコンのみで行う
> 複数のパソコンで行う
> 個人・個人のパソコンで行う(この場合はそのパソコンが壊れた時はどうするのか)
>
> 何日分を記載しておくのか
> バックアップはどうするのか
>
> 実際の入力フォーマットは
> 変更はいつまで受け付けるのか
> などなど他にもたくさん有りますが、漏れが無いよう考慮を重ねて、後で仕様変更が起こった場合作り直しにならないよう作成しておく。
>
>
> 私は会社の事務のことはお手伝いできませんが、
> 例えば、入力者は.accdbファイルに都度書き込みしていき
> 読み取り制限はsql文で行えば良いのではと思います。
> https://atmarkit.itmedia.co.jp/ait/articles/1512/10/news024.html
> https://atsumitm.iobb.net/it/it-081.php
> など参考資料は探してください。
>
>
> 楽楽勤怠なら3万円/月だそうです。
>
色々組み合わせて解決させることができました。
助力いただき、ありがとうございました。
■[返信 4] tekさん(2024-09-18 13:04:24)の記事
> まずはキチンとした仕様書を作成する必要があります。
> 例えば、
> 残業管理のみ行う
> 入退勤管理を行う(タイムカード等とのやりとりはどうするのか)
>
> 1台のパソコンのみで行う
> 複数のパソコンで行う
> 個人・個人のパソコンで行う(この場合はそのパソコンが壊れた時はどうするのか)
>
> 何日分を記載しておくのか
> バックアップはどうするのか
>
> 実際の入力フォーマットは
> 変更はいつまで受け付けるのか
> などなど他にもたくさん有りますが、漏れが無いよう考慮を重ねて、後で仕様変更が起こった場合作り直しにならないよう作成しておく。
>
>
> 私は会社の事務のことはお手伝いできませんが、
> 例えば、入力者は.accdbファイルに都度書き込みしていき
> 読み取り制限はsql文で行えば良いのではと思います。
> https://atmarkit.itmedia.co.jp/ait/articles/1512/10/news024.html
> https://atsumitm.iobb.net/it/it-081.php
> など参考資料は探してください。
>
>
> 楽楽勤怠なら3万円/月だそうです。
>
色々組み合わせて解決させることができました。
助力いただき、ありがとうございました。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-07-05 01:35:51 )