![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで「ページレイアウト...
-
エクセルの数式バーのフォント...
-
2列に入っているデータを1列...
-
【Excel】別シートから条件に合...
-
EXCELの散布図で日付が1900年に...
-
エクセルをエクセレントに究める
-
F9キーについて。
-
Excelの数式について教えてくだ...
-
数字入力後他の文字等が表示さ...
-
Excelセルを跨いで合計を出す方法
-
計算能力
-
【ExcelVBA】ダブルクォーテー...
-
エクセルのツールバーから数値...
-
エクセル関数を使って
-
エクセル シート表示
-
エクセルでファイルの最終更新...
-
Excel 2019 [オプション]の[リボンのユ...
-
特定の文字列を含む、住所を抽...
-
祝日と土曜、日曜の合計をカウ...
-
Excel分数の表示について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報