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ランキング
-
Excelの関数について教えてくだ...
-
VBAについての質問です
-
Excelにいついて質問です。
-
一つのセルに(例えばA1)入力...
-
エクセルファイルがファイルの...
-
【マクロ】名前を保存する際に...
-
Excel 複数列 A列B列C列一致 D...
-
エクセル vbaについて教えてく...
-
エクセルであるセルに数字を入...
-
Excelについて教えてください
-
エクセル マクロ チェックボックス
-
【マクロ】顧客番号にて一致さ...
-
エクセル共有したが、アクセス...
-
Excel分析ツールでのポアソン回...
-
【Excel】数字を3倍にし、なお...
-
エクセルのデーターが2か月前の...
-
LOOKUP関数を使えばいいのでし...
-
エクセルの神よ、ご回答を! エ...
-
Excelでセルの値が同じか...
-
エクセルを使っていて2024/5/15...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報