
ExcelVBAについて2点質問です。
画像のようにコンボボックスのリストを変更すると、
C列にフィルターがかかる仕様です。
①シートには保護がかかっており、マクロ実行の際に
ActiveSheet.Protect UserInterfaceOnly:=True
で保護した状態でも実行できるようにしているのですが、
シートの保護を解除してから実行してくださいというエラーがでます。
他のマクロもあり、他ではシートの保護に関するエラーが出ずに実行されるのですが
どうして実行されないのでしょうか。
※シートの保護を解除すると思った結果になります。
ボタンでの実行ではなく、コンボボックスの値が変更されると実行されるマクロでは
ActiveSheet.Protect UserInterfaceOnly:=True
が効かないなどあるのでしょうか。
②また現在はコンボボックスの値の月のみフィルターで表示されるようになっていますが、
コンボボックスで指定した月以降がすべて表示されるようにするにはどうしたらよいでしょうか。
▼現在のコード
Sub ドロップ1_Change()
ActiveSheet.Protect UserInterfaceOnly:=True
With Worksheets("sheet1").Range("A2").CurrentRegion
.AutoFilter
.AutoFilter 3, Worksheets("sheet1").Range("H3")
Cancel = True
End With
End Sub

No.3ベストアンサー
- 回答日時:
[G1]にリンクするセルを設定しないで
VBA で書き換えるなら
ActiveSheet.Range("G1") = ActiveSheet.DropDowns(1).Value
とか。
No.2
- 回答日時:
>これを指定してはいけないということでしょうか。
シートの保護をしたままではそういうことになります。
試しに「リンクするセル」を削除してテストしてみてください。
No.1
- 回答日時:
[リンクするセル] が設定されているとダメみたいですね。
ユーザーの操作で リンクするセル を書き換えた、
ということになるのでしょう。
以下を行った、ということでしょうか。
コントロールの書式設定画面から [コントロール] タブをクリックし、[リンクするセル] にセル名を入力して [OK] をクリックします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 複数条件のオートフィルタ(VBA) 2 2022/12/09 15:40
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAでシートの保護をかける際に「書式設定の変更」を有効にする 1 2023/04/17 18:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】5万行以上のデー...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
エクセルでCDOを使ったメール送...
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでセルの書式を変えずに文字...
-
【ExcelVBA】値を変更しながら...
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてく...
-
質問58753 このコードでうまく...
-
現在のブックを閉じないで、マ...
-
【マクロ】変数を使った、文字...
-
エクセルのVBAコードについて教...
-
ワードの図形にマクロを登録で...
-
Excelマクロで使うVBAコードを...
-
VBAの「To」という語句について
-
VBAでFOR NEXT分を Application...
-
Vba WorkBooks.Openについて教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 作業後に選択範囲...
-
Excel VBA 選択範囲の罫線色の...
-
別のフォームで記述している関...
-
VBAでのユーザフォームの表示有...
-
ascW関数の結果がおかしい
-
ACCESSで別DBにあるクエリを...
-
Sub Auto_Open() 実行されない
-
ExcelVBAで毎月月初の最初にBoo...
-
エクセル マクロ 別シートから...
-
メニューバーのイベントが2回...
-
GetAsyncKeyState() を利用する...
-
続き…エクセルvba ①SUBメニ...
-
最小化ボタンで最小化したフォ...
-
excelのvbaを使って日付を置換...
-
円の中に等間隔に線を引くには
-
ステップモードの動作確認方法
-
C++Builderのエラー...
-
Excel VBAのステップイン
-
ExcelVBA ドロップボックスで月...
-
エクセルのVBAにショートカット...
おすすめ情報
ご回答いただきありがとうございます。
>コントロールの書式設定画面から [コントロール] タブをクリックし、[リンクするセル] にセル名を入力して [OK] をクリックします。
現在この方法で[G1]にリンクするセルを設定しています。
これを指定してはいけないということでしょうか。