http://odn.okwave.jp/kotaeru.php3?q=1942213 の質問の追加質問なのですが、
ワークシート上に配置したフォームのコンボボックス(DropDowns)をマクロにて無効とさせる方法です。
シート保護されている場合、
DropDownオブジェクトを個別に指定して
Sub TEST3()
With ActiveSheet
.DropDowns("Drop Down 7").Enabled = False
.DropDowns("Drop Down 8").Enabled = False
.DropDowns("Drop Down 9").Enabled = False
End With
End Sub
とすると、OKなのですが、コレクションオブジェクトとしてまとめてやろうとして、
Sub TEST4()
With ActiveSheet
.DropDowns.Enabled = False
End With
End Sub
とするとエラーになります。
シート保護のない場合は両方ともOKです。
どういう違いなのでしょうか?
No.2ベストアンサー
- 回答日時:
こんにちは。
Wendy02です。確認しました。私などには、それはわからないですね。
シート保護の中で、オブジェクトにチェックを入れておいて、フォームツールのDropDownのプロパティを「Locked= True」にしておいても、抜けてしまうことですから、それは仕様なのか、MSの製作者の意図は分りません。
今、Ver5 のマニュアルで確認してみましたが、DropDowns(1).Enabled =True/ False という使い方はありますね。
もともと、過去のマクロシートから使われてきたものですから、本来は、シートの保護とは別の存在だったということも想像できます。
シートを保護して、ローカルウィンドウを見ながら比較すると、DropDownsオブジェクトEnabled プロパティは設定できなくなっていますが、個別のプロパティは、設定は可能な状態になっています。
ただし、コレクションで一括設定という目的なら、
最初に、シートの保護前に
Me.DropDowns.Locked = False にしておいてから、一括設定してもよいかと思います。
No.1
- 回答日時:
>シート保護のない場合は両方ともOKです。
ActiveSheet.Protect UserInterfaceOnly:=True
ではいかがですか?
http://www.officetanaka.net/excel/vba/sheet/shee …
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
Protect UserInterfaceOnly:=True は存じております。
今回の質問は対策ではなく、そうなる理由なんです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンボボックスへ降順に表示す...
-
Access-VBAでExcelファイ...
-
複数シートを一括で保護を掛け...
-
マクロ実行後、画面がちかちか...
-
エクセルで品番を入れると、そ...
-
エクセルの全てのシート名を一...
-
VBA 複数のエクセルから一つの...
-
VBAマクロ実行時エラーの修正に...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
Worksheets メソッドは失敗しま...
-
エクセル マクロ オートフィ...
-
マクロの「SaveAs」でエラーが...
-
B列の最終行までA列をオート...
-
vbaで指定したセルより下の行を...
-
Excelで、あるセルの値に応じて...
-
VBS Bookを閉じるコード
-
Excel VBAでのWorksheet_Change...
-
VLOOKUPの列番号の最大は?
-
エクセルVBA 配列からセルに「...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access-VBAでExcelファイ...
-
エクセルVBAでオブジェクトが必...
-
エクセルマクロ(超初心者)
-
複数シートを一括で保護を掛け...
-
コンボボックスへ降順に表示す...
-
エクセルのVBAについて教えてく...
-
エクセルを共有にすると、シー...
-
マクロのコマンドボタン《Activ...
-
Excell VBA にて配列に定数を代...
-
エクセルマクロ 変数をワーク...
-
VBAでVlookup機能を使うときに...
-
エクセルVBAでフォームの無効化...
-
エクセルで品番を入れると、そ...
-
EXCELに関する質問
-
エクセルVBA 別シートの最終セ...
-
【EXCEL-VBA】ワークシートに別...
-
マクロでフォルダ内のExcelを全...
-
マクロ実行後、画面がちかちか...
-
エクセル マクロについて、 Inp...
-
エクセルで特定の文字列が入っ...
おすすめ情報