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ランキング
-
エクセルの表で1年間の曜日を...
-
エクセルでの特別な文字を上に...
-
エクセルでB列でフィルターをか...
-
お世話になります。 Excelを使...
-
エクセルでセルに標準で入力さ...
-
EXCELの質問です 119から足した...
-
UNIQUE関数が使えないバージョ...
-
【マクロ】VLOOKUPにて参照元に...
-
エクセルで会社の従業員のデー...
-
Excel VBについての質問です。
-
【マクロ】アクティブセルにブ...
-
libre 表計算ソフトの計算がう...
-
エクセルの空欄をつめて、次の...
-
エクセルの問題です。絶対値の...
-
Excelで、項目の種類ごとにカウ...
-
【マクロ】アクティブセルの、...
-
exselで最小数で並び替える関数
-
「問題が発生しました」ですと?
-
CELL関数のヘルプ文の意味?
-
エクセルのコメントのデザイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報