
Excelのマクロについて、また質問させていただきます。
シートを保護してもマクロが使えるようにしたいのです。
Selection.Validation.Add Type:= _
xlValidateList, AlertStyle:= _
xlvalidalerstop, Operator:= _
xlBetween, Formula1:="=$A$1"
というようなマクロを作ったとします。
このままなら使えるのですが
シートを保護すると
アプリケーション定義またはオブジェクト定義のエラーです。
と表示されるようになります。
前回質問させていただいたときにアドバイスいただいた
Validation.Delete
を付けても
状況は変わりません。
Unprotect password
や
Protect userinterfaceonly:=True
を付けても、やはり無理なのです。
マクロについては
まだまだ初心者の域を脱していません。
今回もまた明快なお答えをいただけること
期待しております。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>起動時にやはりパスワードを入れなくてはいけませんよね。
ブックのパスワードですか?
>文字通り自動的に使えるようにしたいのです。
シートにパスワードを掛けた状態でAuto_Openに
ActiveSheet.Protect userinterfaceonly:=True
とするだけで、パスワード不要でVBAから操作できました。(Excel2000)
この回答への補足
ごめんなさい。
やはりうまくいきません・・・
Excel12002ですが、バージョンは関係ないですよね。
念のため、コピーして貼り付けてみます。
Sub Auto_Open()
ActiveSheet.Protect userinterfaceonly:=True
End Sub
Sub a()
Selection.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=$A$1"
End Sub
ここでは改行マークが入っていませんが
もし画面の関係で改行されているとしても
実際はSelectionから"=$A$1"まで1行にしています。
No.1
- 回答日時:
どのように書いたのか解りませんが・・・。
「Protect userinterfaceonly:=True」は、エクセル起動後、”コード実行前”に別に1度だけ実行する必用があります。(別処理)
通常は、エクセルの自動実行(起動後に自動実行)等で処理します。
あとは、コード内で保護解除と保護を行う方法。
ActiveSheet.Unprotect
'処理
Selection.Validation.Add Type:= _
xlValidateList, AlertStyle:= _
xlvalidalerstop, Operator:= _
xlBetween, Formula1:="=$A$1"
ActiveSheet.Protect
http://search.goo.ne.jp/web.jsp?status=select&fr …
この回答への補足
回答ありがとうございます。
「ActiveSheet.Unprotect」については
記入する場所を変えたところ
うまく認識するようになりました。
マクロの途中に入れていたことが悪かったようです。
ただ、パスワードは時々変えなくてはならないので
これを使うためにいちいちマクロを変更するのは
やはり面倒かもしれません...
そこで「Protect userinterfaceonly:=True」なのですが
自動実行の「Auto_Open」では
起動時にやはりパスワードを入れなくてはいけませんよね。
パスワードを知らない他の人でも
文字通り自動的に使えるようにしたいのです。
申し訳ありませんが、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Excel(エクセル) Excelについて 1 2023/03/06 10:26
- Excel(エクセル) 添付写真上のExcelシートのように時間と曜日ごとに担当者が振り分けられているシートがあります。 例 1 2023/03/08 13:02
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) VBAでシートの保護をかける際に「書式設定の変更」を有効にする 1 2023/04/17 18:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセルのdatedif関数を使って...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
【マクロ】【配列】3つのシー...
-
【関数】同じ関数なのに、エラ...
-
【マクロ】列を折りたたみ非表...
-
vba テキストボックスとリフト...
-
エクセルのVBAで集計をしたい
-
【マクロ】EXCELで読込したCSV...
-
【条件付き書式】シートの中で...
-
【マクロ】オートフィルターの...
-
ページが変なふうに切れる
-
【マクロ】アクティブセルの時...
-
【マクロ】3行に上から下に並...
-
エクセルの循環参照、?
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】A列にある、日付(本...
-
エクセル
-
エクセルに、105と入力すると、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報