
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
非表示方式なら、すでに、
http://oshiete.goo.ne.jp/qa/10456549.html
で披露しました。こちらは、マクロを不可にしたら、中身は見えません。
しかし、こちらのご質問は、そのままでは、VBA内では不可能だと思っています。
Workbook_SheetActivate(ByVal Sh As Object)
では、開けた後に発生するものです。シートを開けさせない、つまりクリツクを帳消しにすることは不可能だと思います。
>シートの存在は下のべろ(シートタブ)で見えるが、そこをクリックするとパスワードを求められる、
これは、コントロール・ボタンの仕様です。シートタブに、一般的にはそのような機能はありません。先程、Excelの構造をResource Hacker で調べてみましたが、不慣れなせいか良く分かりません。そのものの機能は調べても見当たらないと思います。
>一度そのシートを離れれば戻るときにはまたパスワードを求められるのが理想的です。
マウスで動かしている分には、Excelは反応してくれますが、何もしないままですと、今回作ったものは閉じてしまいます。
全体のマクロは、ご興味がなければお見せすることはありませんが、とりあえず、そのイントロの部分だけを見せます。これはボタンのみです。これはシステムですから、一部のコードだけみても、雰囲気ぐらいで意味もありませんが、添付画像のようになります。
Sub AddButton() '①
'シート1以外のボタンを付ける
Dim y1 As Double, x1 As Double, x2 As Double, y2 As Double
Dim i As Long, j As Long
Application.Goto Worksheets(1).Range("A1"), True
y1 = ActiveWindow.UsableHeight / 2
With Worksheets("Sheet1")
For i = 2 To Worksheets.Count
x1 = 5 + (40 * j)
x2 = 40
y2 = 15
With .Buttons.Add(x1, y1, x2, y2)
.Caption = Worksheets(i).Name
.OnAction = "SheetsOpen"
.Placement = xlFreeFloating
End With
j = j + 1
Next
End With
End Sub
'--続く--

No.2
- 回答日時:
Workbook_SheetActivate(ByVal Sh As Object)
のイベントに記述すれば可能かと。
まず当該シートでない場合にはかならずシート名を
変数に記憶します。
当該シートの場合は、記憶した変数のシートに戻してから
パスワードの合致を確認してから表示すればよいのでは?
マクロ禁止されたら没ですけど・・・。
No.1
- 回答日時:
>シートの存在そのものは非表示にせず、シートの存在は下のべろ[シートタブ]で見えるが、そこをクリックするとパスワードを求められる、
ずっと調べてみましたが、少なくとも、ご希望の仕様はVBA内では、不可能だと思います。シートタブ属性のEXCEL7 Class にシートタブ・コントロールがあれば可能ですが、そのようなものはありません。
例えば、UserForm やホームシート(Sheet1)上で、ボタン・コントロールを設けたりするぐらいしか思いつきません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel vba でユーザーフォーム入力ができない 2 2022/12/12 14:42
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/09 12:17
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/17 15:40
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
このQ&Aを見た人はこんなQ&Aも見ています
-
[Excel VBA]イベントマクロ上でブック保護解除、再度ブック保護する方法
Excel(エクセル)
-
Exel 一部のセルにのみ、閲覧制限をかけたい
Visual Basic(VBA)
-
Excelで別シートを見られないようにしたい
Excel(エクセル)
-
-
4
エクセルシート毎の権限について
Excel(エクセル)
-
5
エクセルで一部のシートを見れないようにしたい
Excel(エクセル)
-
6
エクセルシートの閲覧制限について
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
【Excel VBA】シート表示、非表示制御、及びマクロ実行時にパスワード設定する方法
Visual Basic(VBA)
-
9
エクセルシート内での閲覧制限
Excel(エクセル)
-
10
EXCELファイルに誰がアクセスしたかを見たい
Access(アクセス)
-
11
ファイルのアクセス回数について
Access(アクセス)
-
12
エクセルで参照しているデータを常に最新の状態にしたい
Excel(エクセル)
-
13
Excel 行の連続データを列に参照したいんです・・・
Excel(エクセル)
-
14
Excel 一部データを隠す(見えないように保護)
Excel(エクセル)
-
15
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
16
エクセルでマウスカーソルの形が十字のままになってしまう
Excel(エクセル)
-
17
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
18
Excelで・・・1ページあたりの行数を指定できますか?
Excel(エクセル)
-
19
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
20
シート見出しの色を自動的に変更させたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
特定のシートのみ再計算させな...
-
EXCELの図形(テキストボックス)...
-
ハイパーリンクでジャンプした...
-
エクセルのファイルサイズが急...
-
【ExcelVBA】マクロの入ったシ...
-
エクセル、特定のシートにパス...
-
エクセルの複数シートでのリン...
-
エクセルの2つのシートを並び...
-
Accessのテーブルを既存のExcel...
-
ワークシートそのものの色を変...
-
Excelでマクロ設定したが反映さ...
-
エクセルのシー名を二段表示に...
-
特定のシート名のシートのみ除...
-
Wordで差し込み印刷時に表示す...
-
エクセルで複数のシートに画像...
-
アクセスからエクセルのシート...
-
エクセルで、シートの名前を変...
-
エクセルのシート連番の振り直し
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
特定のシートのみ再計算させな...
-
ハイパーリンクでジャンプした...
-
【ExcelVBA】マクロの入ったシ...
-
エクセルで複数のシートに画像...
-
確定申告用の医療費集計フォー...
-
エクセルのシー名を二段表示に...
-
EXCELの図形(テキストボックス)...
-
エクセル、特定のシートにパス...
-
Wordで差し込み印刷時に表示す...
-
ワークシートそのものの色を変...
-
Accessのテーブルを既存のExcel...
-
EXCELで存在しないシート...
-
エクセルの複数シートでのリン...
-
エクセルのファイルサイズが急...
-
エクセルの2つのシートを並び...
-
エクセルのシート連番の振り直し
-
エクセルで、シートの名前を変...
-
エクセルでリンク貼り付けした...
おすすめ情報